c++ - Qt5 Designer Ui 文件中的 QSystemTrayIcon

标签 c++ qt5 qwidget

我正在尝试使用 QUiLoader 从 Ui 文件加载我的所有表单。我遇到了 QSystemTrayIcon 的问题。由于某种原因,QFormBuilder 无法加载我的表单。

我的用户界面文件:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
    <class>SystemTrayIcon</class>
    <widget class="QSystemTrayIcon" name="SystemTrayIcon">
        <property name="icon">
            <iconset>:/icons/tray_icon.png</iconset>
        </property>
    </widget>
    <resources/>
    <connections/>
</ui>

然后我使用以下代码加载它:

tray_icon tray_icon_factory::build()
{
    QUiLoader loader;
    QFile file(":/forms/tray_icon.ui");

    file.open(QFile::ReadOnly);
    QWidget *widget = loader.load(&file);
    file.close();

    tray_icon the_tray_icon(widget);
    return the_tray_icon;
}

当我编译并运行我的应用程序时,出现以下错误:

"QFormBuilder was unable to create a widget of the class 'QSystemTrayIcon'."

我哪里做错了,我该如何解决这个问题?

最佳答案

QSystemTrayIcon 不是小部件,因此您不能从 ui 文件创建它。

关于c++ - Qt5 Designer Ui 文件中的 QSystemTrayIcon,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511619/

相关文章:

c++ - 在 Armadillo 中捕获 LAPACK 错误

qt - 检测 QPushButton 是否被单击

python - pyQt4:QWidget 子类不响应新的 setStyleSheet() 背景颜色

c++ - 遵循除了内容之外的布局

c++ - 在 QML 中使用 C++-slot 返回命名空间中的类型

c++ - QSystemTrayIcon 分别处理左键和右键?

c++ - Qtableview搜索栏

c++ - 如何重载运算符+?

C++ OOP 设计决策

c++ - 将 Exception 创建为内部类是个好主意吗? C++