Set column width for QTreeWidget

2019-04-30 04:08发布

Is there any way to set column width for QTreeWidget from code? I want to chage default width of first column. I'm using PySide.

3条回答
混吃等死
2楼-- · 2019-04-30 04:29

QHeaderView::resizeSection() should do the trick, in C++ it would look like this:

myTreeWidget->headerView()->resizeSection(0 /*column index*/, 100 /*width*/);
查看更多
爷、活的狠高调
3楼-- · 2019-04-30 04:33

For people looking for a C++ Qt solution (tested with 5.12):

// Important to call setMinimumSectionSize because resizeSection wont work if your width is less than the minimum
treeWidget->header()->setMinimumSectionSize(25);
treeWidget->header()->resizeSection(1 /*column index*/, 25 /*width*/);

// You might also need to use this if you want to limit the size of your last column:
treeWidget->header()->setStretchLastSection(false);
查看更多
虎瘦雄心在
4楼-- · 2019-04-30 04:34

In Pyside2 there is no resizeSection

you can use this in PySide2:

header = self.treeWidget.header()
header.setSectionResizeMode(QtWidgets.QHeaderView.ResizeToContents)
header.setStretchLastSection(False)
header.setSectionResizeMode(5, QtWidgets.QHeaderView.Stretch)
查看更多
登录 后发表回答