У меня есть приложение Qt, в котором определенный QLabel отображает всплывающую подсказку, если возникает определенное внутреннее состояние.
Поскольку всплывающая подсказка имеет тайм-аут и автоматически скрывается Qt, всплывающая подсказка поддерживается приложением, показывая подсказку каждые 3 секунды (я не нашел никакого механизма, позволяющего Qt показывать подсказку бесконечно).
Подсказка отображается до тех пор, пока пользователь не щелкнет сам QLabel: подсказка больше не обновляется и исчезает.
Теперь у меня есть новое требование, чтобы подсказка также исчезала, если пользователь нажимает на саму подсказку. Есть ли сигнал, который посылается, когда пользователь нажимает на видимую подсказку? Или нужно использовать более сложную технику?
EDIT
Я снова проверил свой код, вот дополнительная информация.
Qt обнаруживает щелчок мыши на всплывающей подсказке и скрывает ее, но приложение немедленно снова показывает подсказку.
Я хотел бы, чтобы Qt информировал мой код о событии, вызванном щелчком мыши, чтобы он снова и снова не отображал всплывающую подсказку. Я имею в виду два возможных решения, но я не знаю, является ли одно из них технически осуществимым:
- Удалить время ожидания всплывающей подсказки: когда подсказка отображается, она остается видимой до тех пор, пока пользователь не щелкнет по ней. Как я могу отобразить всплывающую подсказку без таймаута в Qt?
- Держите подсказку видимой, многократно показывая ее; обнаружить щелчок мыши на всплывающей подсказке, чтобы остановить цикл проверки активности. Как получить сигнал, когда пользователь нажимает на всплывающую подсказку?