Qt5 Designer Ui文件中的QSystemTrayIcon

QSystemTrayIcon in a Qt5 Designer Ui file

本文关键字:QSystemTrayIcon 文件 Designer Ui Qt5      更新时间:2023-10-16

我正在尝试使用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'."

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

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