如何捕获 QTreeWidget 列的大小调整

How to capture resizing of QTreeWidget columns

我的 QTreeWidget 中需要一列,其宽度始终为 x 像素。

所以我想捕获我的 QTreeWidget 列的大小调整,以便在用户调整大小时将 with 设置回我的 x。 但是我找不到像 columnWidthChanged.

这样的信号

有什么方法可以在更改列时调用 function/slot? 或者还有其他解决办法吗?

信号由 QTreeWidget 的 header 发出。 这是QTreeWidget.header().sectionResized(int column, int oldsize, int newsize)

而不是连接到 sectionResized 信号并恢复用户所做的调整大小,为什么不首先阻止用户通过

调整列的大小
treeWidget.header().setSectionResizeMode(QHeaderView::Fixed)

或通过

阻止仅调整个别列的大小
treeWidget.header().setSectionResizeMode(colIdx, QHeaderView::Fixed)

这更容易实现,对用户来说 "natural" 也更方便。