Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: guest от Август 21, 2006, 18:15 реализовал свой класс на основе QListWidgetItem, в котором переопределена функция paint в QItemDelegate. Теперь хочется, чтобы менялся текст при наведении на него мышкой. Не на итем, а только на текст. Координаты мышки я могу узнать из mouseMoveEvent, а вот прямоугольник с текстом не могу найти способ узнать. Кто-нибудь знает решение?
Qt 4.1.1 Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: Daemon от Август 21, 2006, 19:42 guest а может есть смысл это реализовать через написание собственного стиля?
Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: guest от Август 22, 2006, 05:34 а чем мне может это помочь при определении координат текста?
Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: bigirbis от Август 22, 2006, 08:33 такие вещи надо смотреть выше:
Код: QRect visualItemRect ( const QListWidgetItem * item ) const Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: noosooth от Август 22, 2006, 11:40 Цитата: "bigirbis" такие вещи надо смотреть выше: Код: QRect visualItemRect ( const QListWidgetItem * item ) const Вот только guest, насколько я понял, про текст спрашивает, а не про весь Item. Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: guest от Август 22, 2006, 13:46 да. координаты всего итема узнать не проблема. Важно знать именно текст.
Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: bigirbis от Август 22, 2006, 14:12 В этом случае посмотри вдобавок QFontMetrics::boundingRect()
Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: guest от Август 22, 2006, 14:32 QFontMetrics::boundingRect() возвращает координаты текста относительно нуля.
В общем-то проблема уже решена через ItemDelegate функцию paint. Но немного нехорошо. Пришлось запользовать Qt::UserRole для хранения координат текста, чтобы потом их знать при обработке движений мышки. Всем большое спасибо! Название: как определить Text Rect при наведении мышкой на QListWidget Отправлено: bigirbis от Август 22, 2006, 16:09 У меня с английским фигово - я понял Assistant так:
Код: fontMetrics.boundingRect(widget->visualItemRect(item), item->data(Qt::TextAlignmentRole).toInt(), string) |