4

我有一个简单的通知应用程序,我正在使用带有 C++ 的 Qt 4.7.1 来编写一个位于系统托盘中的应用程序。每次来一个消息;我需要它来弹出一个窗口。但是,我需要它丰富(即,我想给它添加颜色和图片)。但是,我所拥有的只是默认的弹出消息框。如何创建一个总是在托盘图标上方弹出的新的更丰富的?

4

1 回答 1

5

所有 qt 小部件类都可以通过stylesheets设置样式,具体取决于创建弹出窗口的位置(设计器或代码中)为其分配具有您想要的外观的样式表。您可以通过使用小部件的上下文菜单将样式分配给小部件来在设计器中测试样式表

进一步审查后,QSystemTrayIcon::showMessage()电话会发出系统通知。我不知道它是否可以样式化。qt 发行版中的qsystemtrayicon_win.cpp文件显示了一种解决方法,并显示了一种如何在托盘中查找图标位置的方法(请参阅 参考资料QSystemTrayIconSys::findIconGeometry)。获得位置后,您可以在该位置弹出自己的窗口。我没有深入了解,我不知道您是否可以使用 Qt 公共方面的信息找到图标的位置。你可能不得不去所有的窗户。

于 2011-04-27T13:49:04.127 回答