crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> setBackground для заголовка QTableWidget
tradmir@mail.ru
  опции профиля:
сообщение 26.1.2018, 22:29
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 30.12.2013
Пользователь №: 4019

Спасибо сказали: 5 раз(а)




Репутация:   0  


Хочу задать цвет фона для заголовка колонки в QTableWidget.
Цвет вроде ставится, но чем-то подавляется, цвет шрифта задается.

Кто знает, подскажите.

С уважением,
Радмир
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 6.2.2018, 7:45
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


tradmir@mail.ru, почитай тут http://doc.qt.io/archives/qt-5.5/stylesheet-syntax.html

можно попробовать варианты:

вариант 1) задать виджету заголовка свойство и по этому свойству покрасить

//задаём значение свойства
// тоже должно проканать, я думаю. Тут нужно будет проверять свойство [xxxx="1"]
//ui->tableWidget->horizontalHeader() ->SetProperty("xxxx","1");

//но можно уже и готовое свойство заюзать, например "windowTitle"
ui->tableWidget->horizontalHeader() ->setWindowTitle("needtopaint");

//красим по свойству "windowTitle"
QString s=QString("QHeaderView[windowTitle="needtopaint"]{background: %1}").arg(somecolor.name());
ui->tableWidget->viewport()->setStyleSheet(s);


вариант 2) покрасить все заголовки, лежащие непосредственно на виджете таблицы
QString s=QString("QWidget > QHeaderView{background: %1}").arg(somecolor.name());
ui->tableWidget->viewport()->setStyleSheet(s);


Не компилировал и не тестировал, могут быть опечатки :)

Сообщение отредактировал Алексей1153 - 6.2.2018, 7:56
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tradmir@mail.ru
  опции профиля:
сообщение 12.2.2018, 7:51
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 14
Регистрация: 30.12.2013
Пользователь №: 4019

Спасибо сказали: 5 раз(а)




Репутация:   0  


Я наверное о другом:
Эта связка
QString SS =QString("QHeaderView::section { background: rgb(%1,%2,%3);}").arg®.arg(g).arg(B);
qDebug() << SS;
ui->tableWidget->setStyleSheet(SS);

красит все заголовки в цвет GRB(r,g,B) на всех моих машинах, но на первой, я могу потом сменить цвет любого заголовка как захочу,
а на других машинах - нет, только все разом.

Почему? Исходный код один, OS одна, один дистрибут, Qt 5.3.1 с одного дистрибута.

Где зарыты камни?

С уважением,
Радмир
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 25.11.2024, 5:39