我有一个水平的QListView
,我想自定义复选框和标签里面的样式表,把标签在复选框下面,而不是在右边。
怎么做呢?
我不确定这是否会在你的情况下工作,但我来寻找一个类似的事情(QTreeWidget
复选框),发现这是有效的:
tree_widget.setStyleSheet("QTreeView::indicator:checked { background:red; }");
我想QListView
也会有indicator
,但我现在不能测试。试试这个:
QListView::indicator {
subcontrol-position: top center;
}
QCheckBox::indicator {
subcontrol-position: top center;
}
就可以了。这个解决方案很丑,但很有效。不确定它是否总是有效-您可能需要使用QCheckBox的布局策略,或者查看是否可以为它预先分配足够的空间。再说一遍,不做承诺。它在我的Qt 4.7.1测试示例中工作
所以唯一的解决方案是创建一个带有自定义复选框和标签的样式项委托,只需调整以下代码:http://discussion.forum.nokia.com/forum/showthread.php?217027-Display-widget-as-items-in-a-QListView& p = 813138, viewfull = 1 # post813138