Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: jurtal от Сентябрь 11, 2009, 14:36



Название: Цветные рамки для QListWidgetItem
Отправлено: jurtal от Сентябрь 11, 2009, 14:36
В QListWidget надо сделать чтобы каждый QListWidgetItem имел рамочку своего цвета... Как можно такое сделать?


Название: Re: Цветные рамки для QListWidgetItem
Отправлено: spectre71 от Сентябрь 11, 2009, 14:53
В QListWidget надо сделать чтобы каждый QListWidgetItem имел рамочку своего цвета... Как можно такое сделать?
QAbstractItemDelegate


Название: Re: Цветные рамки для QListWidgetItem
Отправлено: jurtal от Сентябрь 15, 2009, 08:58
В QListWidget надо сделать чтобы каждый QListWidgetItem имел рамочку своего цвета... Как можно такое сделать?
QAbstractItemDelegate

Сделал Delegate. QListWidget у меня с чекбоксами, и в методе paint закрашивается желтым только сам квадратик для чекбокса, а не весь элемент списка. Была идея для рисования цветной рамки вокруг элемента списка обвести этой самой рамкой rect.

    void paint(QPainter* pPainter, const QStyleOptionViewItem& option, const QModelIndex& index) const
    {
       QRect rect = option.rect;
       QBrush brush(Qt::yellow, Qt::SolidPattern );
       pPainter->setBrush(brush);
       pPainter->drawRect(rect);
   QItemDelegate::paint(pPainter, option, index);
    }


Название: Re: Цветные рамки для QListWidgetItem
Отправлено: jurtal от Сентябрь 15, 2009, 10:27
Вопрос снят. Рамки нарисовались. Спасибо  Spectre