如何设置 Qtreewidget 中项目的图标大小?到目前为止我已经尝试过
QTreeWidget.setIconSize(QSize(32,32))
但所做的只是增加宽度,而不是高度。
然而,一个
print QTreeWidget.iconSize()
显示正确的结果:
PyQt4.QtCore.QSize(32, 32)
有没有人对 QTreewidget 的工作原理有更好的了解?
杰森有一些解决方案。树视图行的高度也需要调整大小:
class MyDelegate(QItemDelegate):
def __init__(self):
QItemDelegate.__init__(self)
def sizeHint(self, option, index):
return QSize(32,32)
Run Code Online (Sandbox Code Playgroud)
然后,在其他地方:
delegate = MyDelegate()
tree = QTreeWidget()
tree.setItemDelegate(delegate)
Run Code Online (Sandbox Code Playgroud)
不理想,因为它会调整每一行的大小。
[编辑] 如果你想改变行的大小,确保 QTreeWidget/View.uniformRowHeights == False
然后乱七八糟地使用索引。对我来说,我希望第二排比其他排大。我确定有更好的方法,但我的 sizeHint 变成了:
def sizeHint(self,option,index):
parent = index.parent()
if parent.isValid() and not parent.parent().isValid():
return QSize(32,32)
return QSize(24,24)
Run Code Online (Sandbox Code Playgroud)
然而,这还有另一个问题。图标不可调整大小。啊! 必须这样做
QTreeWidget.setIconSize(QSize(width,height))
| 归档时间: |
|
| 查看次数: |
7711 次 |
| 最近记录: |