我想设置QTableWidget的“!active”背景颜色以匹配“活动”颜色。我试着这样做:
QTableWidget::item:selected:!active{
background-color:QTableWidget::item:selected:active;
}
但它似乎不起作用。有没有办法将属性的值设置为另一个属性的值?
谢谢,
大卫
答案 0 :(得分:0)
无法在样式中引用其他样式。我可以想到两个选择:
1)从代码中修改QTableWidget的QPalette。 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" )