如何重画QTreeWidget?

时间:2015-02-09 13:46:01

标签: c++ qt qtreewidget

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

2 个答案:

答案 0 :(得分:2)

呼叫

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

初始化和

treeWidget->resizeColumnToContent(column);

每次添加一列时。

答案 1 :(得分:0)

看起来像

resizeColumnToContents(int col)

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

是的,别忘了打电话

header()->setStretchLastSection(false)

初始化 TreeView