如何保持 QtreeWidget(多于 2 列)第二列的大小动态?
How to keep the size of second column of a QtreeWidget (with more than 2 columns) dynamic?
我有一个以 Qtreewidget(有 3 列)作为中央小部件的主窗口。我想保持第一列和第二列的大小固定,但第二列的大小应等于 qtreewidget 的大小减去其他两列的大小。既然主窗口(也就是treewidget)的大小可以改变,那么如何保持第二列的大小也改变?
使用QTreeWidget
的header()
函数,您可以获得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.
我有一个以 Qtreewidget(有 3 列)作为中央小部件的主窗口。我想保持第一列和第二列的大小固定,但第二列的大小应等于 qtreewidget 的大小减去其他两列的大小。既然主窗口(也就是treewidget)的大小可以改变,那么如何保持第二列的大小也改变?
使用QTreeWidget
的header()
函数,您可以获得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.