在我的Qt应用中,我想使用气球/气球提示,就像Windows用户体验指南中所示的那样(不是系统托盘上的气球)。
这在Qt中支持吗?我没有找到任何相关资料。是否有开源库可以实现这个功能(Qxt没有)?如果要自己创建,最好的方法是什么?
这在Qt中支持吗?我没有找到任何相关资料。是否有开源库可以实现这个功能(Qxt没有)?如果要自己创建,最好的方法是什么?
QT += widgets-private
添加到您的PRO文件中,以便能够包含私有标头#include <QtWidgets/private/qsystemtrayicon_p.h>
然后调用静态方法showBallon()
或实例化它并调用baloon()
。但这仅适用于系统托盘,并且它是一个私有API,可能随时更改。我个人不会使用它。但如果您想知道它如何呈现,请查看https://code.woboq.org/qt5/qtbase/src/widgets/util/qsystemtrayicon.cpp.html#_ZN11QBalloonTip10paintEventEP11QPaintEvent
QBalloonTip
,它是一个内部类,定义在以下文件中:
Qt 5:
QtDir/Src/qtbase/src/widgets/util/qsystemtrayicon_p.h
Qt 4:
QtDir/src/gui/utils/util/qsystemtrayicon_p.h
QBalloonTip
继承自 QWidget
,并在相同目录下的qsystemtrayicon.cpp 中实现。它有以下方法用于显示气泡提示:void QBalloonTip::balloon(const QPoint& pos, int msecs, bool showArrow)
搜索 QBalloonTip
类(在 Qt 文档(doxygen 参考)和代码库中),查看其实现方式,并使用类似的技术。
QBalloonTip
是在src/gui/utils/util/qsystemtrayicon_p.h
中定义的内部类,不属于公共和文档化的API之外。 - alexisdm