Найти в Дзене

Программирование на языке Python. Библиотека PyQt5. Всплывающие подсказки. Класс QtWidgets.QToolTip

Доброго времени суток, читатели, зрители моего канала programmer's notes. Не забывайте подписываться и писать свои комментарии к моим статьям и видео.

Создание подсказок с помощью класса QtWidgets.QToolTip и метода setToolTip()

Сегодня рассмотрим механизм, часто используемый в оконных приложениях, как всплывающие подсказки (ToolTip).

В программе ниже мы использовали простую программу из этой нашей статьи. В программе реализовано два вида подсказок. Первая тип - подсказка элемента окна (рисунок 1). Для любого элемента есть метод setToolTip() чтобы определить эту подсказку. Второй тип подсказки используется нами для указания координаты курсора в пределах рабочего поля окна (рисунок 2). Ниже я подробно описываю программу.

Скриншот программы. Полный текст программы см. по ссылке ниже
Скриншот программы. Полный текст программы см. по ссылке ниже
primer240.py

Пояснение к программе

  • setToolTip() — метод, который есть у любого элемента окна. С помощью него мы определяем подсказку для конкртеного элемента окна. При этом сам текст может иметь структуру html (sic!). Больше ничего не нужно, всё сразу начинает работать.
  • QToolTip.setFont() — можно определить для подсказок (всех) шрифты. При этом используем известный ужк нам класс QFont.
  • Для определения цвета подсказок используем обычный уже для нас класс QPalette. При установке цвета (setColor()) указываем QPalette.ToolTipBase и QColor(). И далее QToolTip.setPalette().
  • Для того, что бы отслеживать координаты курсора в окне используем обработку событий mouseMoveEvent(). Для вывода всплывающих подсказок используем здесь QToolTip.showText(). При этом, чтобы подсказка была рядом с курсором нужно первым параметром указать параметром типа QPoint. Где определены параметры курсора относительно экрана. Для это используем метод QWidget.mapToGlobal().
Рисунок 1. Подсказка элемента окна
Рисунок 1. Подсказка элемента окна

Рисунок 2. Всплывающее указание координат курсора над окном
Рисунок 2. Всплывающее указание координат курсора над окном

Ну, пока всё!

См. также

Пишите свои предложения и замечания, и занимайтесь программированием, а также проектированием баз данных, хотя бы для поддержания уровня интеллекта.

Что вы мне подсказываете, я сам знаю, что мне делать
Что вы мне подсказываете, я сам знаю, что мне делать