如何保持 QtreeWidget(多于 2 列)第二列的大小动态?

How to keep the size of second column of a QtreeWidget (with more than 2 columns) dynamic?

我有一个以 Qtreewidget(有 3 列)作为中央小部件的主窗口。我想保持第一列和第二列的大小固定,但第二列的大小应等于 qtreewidget 的大小减去其他两列的大小。既然主窗口(也就是treewidget)的大小可以改变,那么如何保持第二列的大小也改变?

使用QTreeWidgetheader()函数,您可以获得QHeaderView对象。

在文档 link(https://doc.qt.io/qt-5/qtreeview.html#sizeHintForColumn) 中,您注意到

If you need to set the width of a given column to a fixed value, call QHeaderView::resizeSection() on the view's header.

void QHeaderView::resizeSection(int logicalIndex, int size)

所以粗略的代码可以是:

QHeaderView* headerView = treeWidget->header();
headerView->resizeSection(COLUMN_INDEX, FIXEDSIZE); //Calculate the required size and do this for required columns.