Russian Qt Forum

Qt => Model-View (MV) => Тема начата: frostyland от Октябрь 15, 2010, 12:53



Название: [СОВЕТ] Простой способ покрасить элементы QTreeView, QListView, QTableView
Отправлено: frostyland от Октябрь 15, 2010, 12:53
Здравствуйте.
Для отрисовки представлений данных предлагается испольовать делегаты QAbstractItemDelegate и и его наследников.
Но иногда требуется просто изменить цвет текста или фона строки (ячейки).
Делается это при помощи вот такого кода в наследнике QAbstractItemModel:

Код
C++ (Qt)
QVariant TreeModel::data(const QModelIndex &index, int role) const
{
switch (role)
{
case Qt::ForegroundRole:
if(index.column()!=1)
return Qt::darkGray; // color for QPen
break;
case Qt::BackgroundRole:
if(index.column()==1)
return Qt::darkGreen; // color for QBrush
break;
}
break;
}
return QVariant();
}
 

Вуаля )))


Название: Re: [СОВЕТ] Простой способ покрасить элементы QTreeView, QListView, QTableView
Отправлено: crossly от Октябрь 15, 2010, 14:01
мать моя женщина!!.... да вы и в прям второй раз Америку открыли... !! :D


Название: Re: [СОВЕТ] Простой способ покрасить элементы QTreeView, QListView, QTableView
Отправлено: frostyland от Октябрь 15, 2010, 14:14
мать моя женщина!!.... да вы и в прям второй раз Америку открыли... !! :D

Ну... судя по количеству Ваших постов, для Вас это как 2 пальца об... асфальт. )))
Но я ухлопал полтора дня.

Это совет для того, чтобы по поиску начинающий типа меня мог быстро найти не some-about-what-we-are-blah-bla-blah, а реальный How-To.


--------------------
О, я вижу, Вы отметились в похожей теме (http://www.prog.org.ru/index.php?topic=15288.msg101092#msg101092). Ну а я просто ее развил.


Название: Re: [СОВЕТ] Простой способ покрасить элементы QTreeView, QListView, QTableView
Отправлено: vipet от Октябрь 15, 2010, 20:40
frostyland,

Эти азы отлично расписаны в справке к Qt (называется Assistant), не надо тратить дни на поиски.


Название: Re: [СОВЕТ] Простой способ покрасить элементы QTreeView, QListView, QTableView
Отправлено: frostyland от Октябрь 15, 2010, 21:37
frostyland,

Эти азы отлично расписаны в справке к Qt (называется Assistant), не надо тратить дни на поиски.

Хорощо. Убейте этот пост и поставьте себе галку "Жизнь прожита не зря"