Qt:如何制作装饰丰富的弹出窗口而不是默认的QSystemTrayIcon弹出窗口

问题描述 投票:0回答:1

我有一个简单的通知应用程序,我正在使用 Qt 4.7.1 和 C++ 编写一个位于系统托盘中的应用程序。

每次有消息传来;我需要它弹出一个窗口,内容丰富(即我想为其添加颜色和图片)。

但是,我只有默认的弹出消息框。如何创建一个新的、更丰富的、始终弹出在托盘图标上方的图标?

c++ qt trayicon
1个回答
5
投票

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

进一步审核后,

QSystemTrayIcon::showMessage()
呼叫会发出系统通知。不知道能不能设计成这样。 qt 发行版中的
qsystemtrayicon_win.cpp
文件显示了一种解决方法,并显示了如何在托盘中查找图标位置的方法(请参阅
QSystemTrayIconSys::findIconGeometry
)。一旦您获得了位置,您就可以在该位置弹出您自己的窗口。我没有深入研究,我不知道您是否可以使用 Qt 公共端的信息找到图标的位置。您可能必须关闭所有窗口。

© www.soinside.com 2019 - 2024. All rights reserved.