如何为Qtreewidget中的项目设置图标大小?到目前为止我已经尝试了
QTreeWidget.setIconSize(QSize(32,32))
但所有这一切都是增加宽度,而不是高度。
但是,
print QTreeWidget.iconSize()
显示正确的结果:
PyQt4.QtCore.QSize(32, 32)
有没有人更了解QTreewidget的工作原理?
答案 0 :(得分:3)
class MyDelegate(QItemDelegate):
def __init__(self):
QItemDelegate.__init__(self)
def sizeHint(self, option, index):
return QSize(32,32)
然后,在其他地方:
delegate = MyDelegate()
tree = QTreeWidget()
tree.setItemDelegate(delegate)
不理想,因为它会调整每一行的大小。
[edit]如果你想改变行的大小,请确保QTreeWidget / View.uniformRowHeights == False
然后使用索引搞乱。对我来说,我希望第二排比其他排更大。我确信有更好的方法,但我的尺寸提示成了:
def sizeHint(self,option,index):
parent = index.parent()
if parent.isValid() and not parent.parent().isValid():
return QSize(32,32)
return QSize(24,24)
然而,这还有另一个问题。图标无法调整大小。啊!这必须用
完成 QTreeWidget.setIconSize(QSize(width,height))
答案 1 :(得分:0)
在我看来,您需要调整QTreeView的行高以容纳更大的图标。从我在图片中看到的内容来看,图标看起来正确调整大小,但因为行不够高而且图标正在裁剪。有关如何更改行高的信息,请参阅this。