2011-04-11 149 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