忍受我吧,我对QT还是个新手,而且我的大脑在处理事情的方式上有困难。
我创建并填充了一个QTreeView,其中包含两列:
class AppForm(QMainWindow):
def __init__(self, parent = None):
super(AppForm, self).__init__(parent)
self.model = QStandardItemModel()
self.view = QTreeView()
self.view.setColumnWidth(0, 800)
self.view.setEditTriggers(QAbstractItemView.NoEditTriggers)
self.view.setModel(self.model)
self.setCentralWidget(self.view)
一切都很好,只是柱子太窄了。我希望setColumnWidth(0800)可以加宽第一列,但它似乎没有任何效果。设置列宽的正确方法是什么?
This确保给定列的宽度和高度设置为与内容匹配。
当您调用
setColumnWidth
时,Qt将执行以下等效操作:然后,当您调用
setModel
时,Qt将(除其他外)执行等同于:因此列宽确实被设置了-只是不在树视图最终使用的模型上。
tl;dr
:在设置模型之后设置列宽。编辑
以下是基于您的示例的简单演示脚本:
相关问题 更多 >
编程相关推荐