如何设置QListView中的复选框样式,以便标签位于复选框下?

时间:2011-04-11 15:41:33

标签: qt stylesheet qlistview qcheckbox

我有一个水平QListView,我想自定义复选框,并在里面用样式表标签,将标签放在复选框下,而不是在右侧。

怎么做?

3 个答案:

答案 0 :(得分:4)

我不确定这是否适合你的情况,但我来找一个类似的东西(对于QTreeWidget复选框)并发现这有效:

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

我想QListView也会有indicator,但我现在无法测试。试试这个:

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

答案 1 :(得分:0)

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

将完成这项工作。解决方案很丑陋但有效。不确定它是否会始终有效 - 您可能需要使用QCheckBox的布局策略或查看是否可以为其预分配足够的空间。再一次 - 没有承诺。它使用Qt 4.7.1

进行了我的测试示例

答案 2 :(得分:0)

所以唯一的解决方案是使用自定义复选框和标签创建样式化的项目委托,只需调整以下代码: http://discussion.forum.nokia.com/forum/showthread.php?217027-Display-widget-as-items-in-a-QListView&p=813138&viewfull=1#post813138