Название: Отображение элементов QComboBox'а разными шрифтами. Отправлено: joke от Июль 13, 2010, 13:59 Здравствуйте.
Есть следующая задача: есть набор элементов (названия могут быть одинаковыми), есть текущий элемент. Необходимо выделить элементы в соответствии с внутренним представлением. Есть идея что это можно сделать выделяя шрифтом или цветом, пример выбор шрифта в OpenOffice. А вот как? Подбросите пример или доку? Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: BRE от Июль 13, 2010, 14:03 Делегат прицепить.
void QComboBox::setItemDelegate ( QAbstractItemDelegate * delegate ) Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: joke от Июль 13, 2010, 14:12 Ладушки, спрошу по другому.
Хочу если CriticalPOD().isIt(combo->itemData().toInt()) то данный itemText() отобразить как bold. Смотрю в QAbstractItemDelegate и никак непойму куда этот bold засунуть. Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: BRE от Июль 13, 2010, 14:18 Ладушки, спрошу по другому. Делегат тебе позволит самому рисовать каждый итем комба, захочешь его нарисовать жирным/другим цветом или фонтом - пожалуйста.Хочу если CriticalPOD().isIt(combo->itemData().toInt()) то данный itemText() отобразить как bold. Смотрю в QAbstractItemDelegate и никак непойму куда этот bold засунуть. Почитай в assistant про делегаты, посмотри примеры. Делегаты - это важный механизм для изменения внешнего вида/поведения разных виджетом. Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: joke от Июль 13, 2010, 14:23 Мобуть нашел: QStyleOptionComboBox, пример QStyleOption (manual)
Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: BRE от Июль 13, 2010, 14:26 Мобуть нашел: QStyleOptionComboBox, пример QStyleOption (manual) Вот эти классы и позволяют упростить процесс рисования своих элементов.Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: joke от Июль 13, 2010, 14:30 QStyledItemDelegate -> displayText???
Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: joke от Июль 13, 2010, 14:33 Фигню сказал...
Название: Re: Отображение элементов QComboBox'а разными шрифтами. Отправлено: joke от Июль 19, 2010, 11:13 короче, пример:
Код: void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const Фигня какая-то. Ну пусть будет так. |