Qtystem Designer Ui文件中的QSystemTrayIcon

时间:2013-08-29 12:54:44

标签: c++ qt5 qwidget

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

我的Ui文件:

<?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'."

我做错了什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

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