在我的Qt应用程序中,我想使用Windows user experience guide(不是系统托盘气球)中所示的气球/气球提示。
Qt支持吗?我什么都没找到。有没有一个开源库(Qxt没有它)?创建自己的最佳方式是什么?
答案 0 :(得分:0)
您可以使用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)
您可以修改此课程的源代码,以获得所需的气球提示。
答案 1 :(得分:0)
要在Qt 5.12中使用私有类QBaloonTip
,您需要执行以下操作:
1)将QT += widgets-private
添加到您的PRO文件中,以便能够包含私有标头
2)#include <QtWidgets/private/qsystemtrayicon_p.h>
在您的源文件中
然后调用静态方法showBallon()
或实例化它并调用baloon()
。但这实际上仅适用于系统任务栏,并且是一个私有API,可以随时更改。我个人不会使用它。但是,如果您想知道它是如何呈现的,请看一下https://code.woboq.org/qt5/qtbase/src/widgets/util/qsystemtrayicon.cpp.html#_ZN11QBalloonTip10paintEventEP11QPaintEvent
答案 2 :(得分:-1)
搜索QBalloonTip
类(在Qt文档(doxygen参考)和代码库中,查看它是如何实现的,并使用类似的技术。