Russian Qt Forum

Qt => Model-View (MV) => Тема начата: izoomer от Декабрь 15, 2006, 17:25



Название: [QT.4.2]Разные виджеты в QAbstractItemView
Отправлено: izoomer от Декабрь 15, 2006, 17:25
Создал модель хранящую мои строки в виде текста, теперь хочу отображать в списке итемы так, что бы каждый итем имел свой внешний вид. Как переопределить вид итемов в списке? В какую сторону копать ?


Название: [QT.4.2]Разные виджеты в QAbstractItemView
Отправлено: Alexei от Декабрь 15, 2006, 18:41
QItemDelegate::paint


Название: [QT.4.2]Разные виджеты в QAbstractItemView
Отправлено: izoomer от Декабрь 15, 2006, 18:52
а как прописать для какого итема (в видимой области ) какой Paint ?


Название: [QT.4.2]Разные виджеты в QAbstractItemView
Отправлено: Alexei от Декабрь 16, 2006, 08:17
Заголовок для метода:
void MyDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option,
  const QModelIndex& index) const

index - это элемент, который отрисовывается.
в option содержатся данные о местоположения, стиля, цвета и т.п. этого элемента

Также советую посмотреть примеры с использованием paint:
$(QTDIR)\examples\itemviews\pixelator\pixeldelegate.cpp
$(QTDIR)\examples\network\torrent\mainwindow.cpp
$(QTDIR)\examples\tools\settingseditor\variantdelegate.cpp


Название: [QT.4.2]Разные виджеты в QAbstractItemView
Отправлено: izoomer от Декабрь 17, 2006, 23:40
спасибо, разообрался с этим вопросом.