Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: karp2005 от Декабрь 07, 2010, 19:21



Название: QTableView - сделать некторые строки жирным шрифтом
Отправлено: karp2005 от Декабрь 07, 2010, 19:21
Сейчас заполняю из модели, передавая в неё QList с данными. Нужно некоторые строки пометить жирным шрифтом. Вопрос - как это лучше сделать:

1. создать скрытую колонку с флагом 1 или 0. Тогда как расскрасить? можно ли это сделать из модели в методе data? (пока получилось сделать жирным только всю таблицу из этого метода, но это не то что мне нужно).

2. Сделать каким-то другим образом (посоветуйте как).

Спасибо.


Название: Re: QTableView - сделать некторые строки жирным шрифтом
Отправлено: AlekseyK от Декабрь 07, 2010, 19:39
Я вставлял через QStandardItem - сразу делаешь жирным строки, которые нужно через setFont(), потом tableView->setItem....


Название: Re: QTableView - сделать некторые строки жирным шрифтом
Отправлено: BRE от Декабрь 07, 2010, 19:48
Откуда у класса QTableView метод setItem?

karp2005 Посмотри на роли (role) в моделях и разберись, что они делают + почитай про делегаты QItemDelegate.


Название: Re: QTableView - сделать некторые строки жирным шрифтом
Отправлено: AlekseyK от Декабрь 07, 2010, 20:09
Откуда у класса QTableView метод setItem?
А я к нему прикручивал QStandartdItemModel и в ней делал:
Код
C++ (Qt)
class NlpTable : public QTableView
{
   Q_OBJECT
 
public:
    void setItem(int row, int column, QStandardItem * item) {source->setItem(row, column, item);}
 
private:
   QStandardItemModel *sourceModel;
}
 
   /// in cunstructor:
   setModel(sourceModel);
 


Название: Re: QTableView - сделать некторые строки жирным шрифтом
Отправлено: Kolobok от Декабрь 07, 2010, 22:15
А я к нему прикручивал QStandartdItemModel

Это ты типа QTableWidget изобрел?!


Название: Re: QTableView - сделать некторые строки жирным шрифтом
Отправлено: AlekseyK от Декабрь 18, 2010, 20:44
А я к нему прикручивал QStandartdItemModel

Это ты типа QTableWidget изобрел?!
Ну типа, ;) только QTableWidget не делал того, что мне было нужно. Хотя сейчас наверное бы по другому сделал... по человечески ;)