Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Владимир99 от Июля 06, 2013, 11:17



Название: изменить цвет текста в QTableWidget
Отправлено: Владимир99 от Июля 06, 2013, 11:17
Здравствуйте!
как изменить цвет текста в QTableWidget (Qt 4.7.2 )
Спасибо.


Название: Re: изменить цвет текста в QTableWidget
Отправлено: alex312 от Июля 06, 2013, 13:23
как вариант, вместо QTableWidgetItem использовать QLabel, которые могут отображать HTML



http://qt-project.org/doc/qt-4.8/demos-spreadsheet.html


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Владимир99 от Июля 08, 2013, 14:42
Спасибо, но
- рекомендация относится к Qt 4.8;
- Хотелось бы именно взять указатель на  и посредством его как то поменять цвет. Например, я могу посредством
      QFont m_fontBold;
     m_fontBold.setBold(true);
     table->item(row,column0)->setFont(m_fontBold);
   установить жирный текст.
  Но не нашел как поставить цвет в QFont.
  Также и в QTableWidgetItem не нашел регулировку цвета.
  Как последний вариант, можно создат подкласс QTableWidgetItem и переопределить paintEvent(), но не слишком ли накладно для всего лишь такой мелочи. Или, выходит, не такая уж это и мелочь?


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Bepec от Июля 08, 2013, 14:45
Код:
setData(Qt::BackgroundColorRole, Qt::Blue);
?


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Владимир99 от Июля 08, 2013, 14:46
Сорри!
Не "указатель на", а указатель на QTableWidgetItem. Забыл paste-нуть.  :)


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Bepec от Июля 08, 2013, 15:03
Код:
setData(Qt::TextColorRole, Qt::Red);
?


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Владимир99 от Июля 08, 2013, 15:10
Уже ближе, но Qt::BackgroundColorRole влияет на цвет фона всей ячейки. Я пошел по аналогии и задал Qt::FontRole, но это не подействовало. :(


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Bepec от Июля 08, 2013, 15:12
Код:
setData(Qt::TextColorRole, Qt::Red);
?


Название: Re: изменить цвет текста в QTableWidget
Отправлено: VPS от Июля 08, 2013, 15:13
Код:
QTableWidgetItem::setForeground(QBrush(QColor(255, 0, 0)));
?


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Владимир99 от Июля 08, 2013, 15:22
С Qt::TextColorRole все получилось.
Еще раз спасибо.
P.S. В Qt 4.7.2 требуется Qt::red.
P.S.S. Выясняется, что в Qt не все лежит на поверхности - надо привыкать к ее/его стилю.


Название: Re: изменить цвет текста в QTableWidget
Отправлено: Bepec от Июля 08, 2013, 15:25
Надо просто идеологию понять. :P


Название: Re: изменить цвет текста в QTableWidget
Отправлено: CuteBunny от Июля 08, 2013, 15:28
+1
Идеология простая - rtfmd