我正在尝试使用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文件创建它。