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