2011-04-11 146 views

回答

0
QCheckBox::indicator { 
    subcontrol-position: top center; 
} 

將完成這項工作。解決方案很難看,但很有效。不確定它會一直工作 - 您可能需要使用QCheckBox的佈局策略,或者查看是否可以預先分配足夠的空間。再次 - 沒有承諾。它的工作對我的測試例如使用Qt 4.7.1

+0

它沒有一個而QListView :( – hokkos 2011-04-12 12:52:14

+0

好內工作,如果你想這樣做只有* *使用QSS,似乎這是不會發生的,但是如果你真的想給使用QStylePainter並實現自己的窗口小部件,該窗口小部件可以將QComboBox元素(如QStyle :: SE_CheckBoxIndicator)放置到任何位置併爲您的目標平臺進行本地渲染。 – Barbaris 2011-04-12 14:46:02

4

我不知道,如果這會在你的情況下工作,但我來尋找類似的事情(爲QTreeWidget複選框),並發現這工作:

tree_widget.setStyleSheet("QTreeView::indicator:checked { background:red; }"); 

我想象QListView也將有一個indicator,但現在我不能測試。試試這個:

QListView::indicator { 
    subcontrol-position: top center; 
} 
+0

您是正確的,因爲兩者都是QAbstractItemView。但支持不好,你的第二個例子不起作用,但是第一個例子(對於QListView)。 – user362515 2015-03-04 07:56:24