Qt的气球提示

时间:2011-10-24 17:07:26

标签: qt balloon balloon-tip

在我的Qt应用程序中,我想使用Windows user experience guide(不是系统托盘气球)中所示的气球/气球提示。

Qt支持吗?我什么都没找到。有没有一个开源库(Qxt没有它)?创建自己的最佳方式是什么?

3 个答案:

答案 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参考)和代码库中,查看它是如何实现的,并使用类似的技术。