從某種風格中引用其他樣式是不可能的。我可以考慮兩種方法:
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")
嗯,我想這個問題是我不知道物品的價值:選擇:活躍的背景色,所以不知道如何設置!活動到相同的顏色。我查看了QPalette文檔,並不確定如何獲得該值。另外,如果可能的話,我想通過QtDesigner進行設置 - 但是我會在此處採用編程解決方案:) –
我認爲這樣做可以,但不起作用 - 不活動的選定顏色仍然是灰色的,而活動的是橙色。 (我本來期望他們都是橙色的)。 http://pastebin.com/uvSC2rPU –
我想你的答案和我最後一個問題一樣,我應該直接設置tableWidget-> currentItem() - > palette()的屬性而不是tableWidget。 ..但是這次我不得不處理一個信號來設置它,因爲currentItem沒有被定義,直到我點擊了一些東西。有沒有更好的方法來做到這一點? –