Russian Qt Forum
Ноябрь 22, 2024, 00:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Делегат - всплывающая подсказка  (Прочитано 2472 раз)
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« : Январь 21, 2022, 11:34 »

Коллеги,
в программе (конфигуратор системы) используется QTableView для работы с различными табличными данными. Один пример отображаемых данных я привел во вложении.
Для некоторых колонок используются делегаты типа QComboBox, которые заполняются из различных справочников (для каждой таблицы используются свои справочники). В приведенном примере делегат используется для колонки "Тип переменной".

Но для некоторых полей, связанных с справочниками, иногда удобнее работать с кодами (например, в колонке "Тип устройства"). Но хочется иметь возможность быстро посмотреть описание этого значения, например, в виде всплывающей подсказки. В модель (для роли Qt::ToolTipRole) это тащить не хочется - она у меня универсальная для всех таблиц. Оптимальным решением был бы делегат в виде всплывающей подсказки, но как его реализовать, я не придумал. Вы можете что-нибудь посоветовать?
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
qtkoder777
Частый гость
***
Offline Offline

Сообщений: 245


Просмотр профиля
« Ответ #1 : Январь 21, 2022, 19:22 »

У комбобокса разве нет метода установки подсказки?
В реализации делегата воспользуйтесь этим методом.
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #2 : Январь 21, 2022, 21:10 »

Есть, конечно. Я такой вариант рассматривал: в paint делегата отрисовывать исходные данные, т.е. число (QStyledItemDelegate::paint(painter, option, index)), а на виджет делегата повесить подсказку. Но, во-первых, без активизации (перевод в поля режим редактирования) комбобокса подсказка не работает. А если его активировать, то и подсказка не нужна - и так отображается то, что мне нужно в подсказке.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 22.