如何重绘QTreeWidget?

How to repaint QTreeWidget?

我有 QTreeWidget。我在其中使用 setHeaderLabels 在按钮单击事件上动态添加新列。此 API 在 TreeWidget 中添加了新列,但该列在当前 TreeWidget 区域中不可见。它在 TreeWidget 中添加了一个滚动条。因此要查看新添加的列,用户必须滚动树。 这是我的场景,但我不想滚动。我使用了 update() 函数,即使它没有显示新列。有没有办法重新绘制小部件。 谢谢!

看起来像

resizeColumnToContents(int col)

会帮助你。 (每次添加新列后都要调用)

顺便说一句,别忘了打电话

header()->setStretchLastSection(false)

关于 TreeView

的初始化

致电

treeWidget->header()->setStretchLastSection(false);

在初始化和

treeWidget->resizeColumnToContent(column);

每次添加一列。