Установить свойство в таблице стилей для значения другого свойства? - PullRequest
0 голосов
/ 20 октября 2011

Я бы хотел установить "! Active" цвет фона QTableWidget в соответствии с "активным" цветом.Я пытался сделать это:

QTableWidget::item:selected:!active{
background-color:QTableWidget::item:selected:active;
}

, но, похоже, это не работает.Есть ли способ установить значение свойства равным значению другого свойства?

Спасибо,

Дэвид

1 Ответ

0 голосов
/ 20 октября 2011

Ссылка на другие стили внутри стиля невозможна.Я могу придумать две альтернативы:

1) Измените QPalette вашего QTableWidget из вашего кода.Объект QPalette предоставит вам доступ к свойствам, которые вы ищете.

QPalette palette = myTableWidget->palette();
palette.setColor( QPalette::Inactive, QPalette::Highlight, palette.color(QPalette::Active, QPalette::Highlight) );
palette.setColor( QPalette::Inactive, QPalette::HighlightedText, palette.color(QPalette::Active, QPalette::HighlightedText) );
myTableWidget->setPalette( palette );

2) Используйте магию QString:

 QString styleSheet = QString( "QTableWidget::item:selected:active { %1 }"
                               "QTableWidget::item:selected:!active { %1 }" )
                               .arg( "style_for_both_items" )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...