Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: akaMDA от Октябрь 12, 2009, 19:52



Название: QTableWidget
Отправлено: akaMDA от Октябрь 12, 2009, 19:52
Как в QTableWidget запретить изменение ячеек, т.е. оставить ее только для вывода?


Название: Re: QTableWidget
Отправлено: SimpleSunny от Октябрь 12, 2009, 20:00
void setEditTriggers ( EditTriggers triggers )


Название: Re: QTableWidget
Отправлено: akaMDA от Октябрь 12, 2009, 20:07
Таблица из 3 столбцов. Как растянуть их на всю длину виждета?


Название: Re: QTableWidget
Отправлено: pastor от Октябрь 12, 2009, 20:44
void QHeaderView::setResizeMode ( ResizeMode mode )


Название: Re: QTableWidget
Отправлено: akaMDA от Октябрь 12, 2009, 21:14
Спасибо. И еще. Как закрасить всю строку в цвет?


Название: Re: QTableWidget
Отправлено: pastor от Октябрь 12, 2009, 22:21
Если нужно закрасить строку через одну, то смотри  QAbstractItemView::setAlternatingRowColors(). В противном случае используй собственный делегат (QAbstractItemView::setItemDelegateForRow(...), QAbstractItemView::setItemDelegate(...), QItemDelegate или QStyledItemDelegate). В собственном делегате нужно будет переопределить метод  paint.

Поищи по форуму, уже подобная тема была.


Название: Re: QTableWidget
Отправлено: panAlexey от Октябрь 12, 2009, 23:07
Поищи по форуму, уже подобная тема была.
риторический вопрос, нафига вообще нужен форум, если на все вопросы есть ответы в асистанте? :)


Название: Re: QTableWidget
Отправлено: pastor от Октябрь 13, 2009, 02:53
риторический вопрос, нафига вообще нужен форум, если на все вопросы есть ответы в асистанте? :)

Я человеку объяснил что делать, подробности можно найти на форуме по ключевым словам. Что не так?


Название: Re: QTableWidget
Отправлено: akaMDA от Октябрь 13, 2009, 20:56
Надо закрасить строчку в свой цвет. Не могу че-то разобраться с делегатами. :-\ Если можно, то покажите плз пример создания делегата для цвета, ну например (100, 0, 0)


Название: Re: QTableWidget
Отправлено: Kolobok от Октябрь 14, 2009, 00:19
С QTableWidget не работал, но мне кажется так:

Код
C++ (Qt)
QTableWidgetItem *newItem = new QTableWidgetItem;
 
newItem->setBackground( QBrush ( Qt::red ) );
// или
newItem->setData( Qt::BackgroundRole, QColor( Qt::red ) );
 


Название: Re: QTableWidget
Отправлено: reymon от Октябрь 15, 2009, 23:52
Можно еще и через стили setStyleSheets