Баллончики с Qt - PullRequest
       48

Баллончики с Qt

7 голосов
/ 24 октября 2011

В моем приложении Qt я хотел бы использовать всплывающие подсказки / подсказки, как показано в руководстве пользователя для Windows (не всплывающие подсказки в системном трее).

Это поддерживается Qt? Я ничего не нашел. Есть ли для этого библиотека с открытым исходным кодом (в Qxt ее нет)? Какой лучший способ создать это сам?

Ответы [ 3 ]

0 голосов
/ 07 мая 2014

Вы можете использовать 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)

Вы можете изменить исходный код этого класса, чтобы получить желаемую подсказку.

0 голосов
/ 03 февраля 2019

Чтобы использовать закрытый класс QBaloonTip в Qt 5.12, вам нужно сделать следующее:

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

0 голосов
/ 24 октября 2011

Поиск класса QBalloonTip (в документации Qt (ссылка на Doxygen) и кодовая база, посмотрите, как он реализован, и используйте подобную технику.

...