Qt:获取QTreeWidget的宽度,就像没有显示滚动条一样

Qt:获取QTreeWidget的宽度,就像没有显示滚动条一样,qt,qt5,scrollbar,Qt,Qt5,Scrollbar,所以我有一个QTreeWidget,我用一堆项目填充它。当缩小小部件的宽度时,它最终将开始显示一个水平滚动条 出于布局的目的,我需要确定树小部件的宽度,但我需要获得宽度,就像没有显示滚动条一样。我的意思是,我不想要滚动区域的宽度,而是想要包含的小部件(实际列表)的宽度,它没有完全显示出来,但是我可以用滚动条滚动到它的边缘。换句话说:对于宽度计算,我想假装内部小部件仍然很宽,不会显示任何滚动条,因为这似乎是外部小部件开始显示滚动条时小部件保持不变的大小 如果这是一个常规的qscrolrea,我会尝

所以我有一个
QTreeWidget
,我用一堆项目填充它。当缩小小部件的宽度时,它最终将开始显示一个水平滚动条

出于布局的目的,我需要确定树小部件的宽度,但我需要获得宽度,就像没有显示滚动条一样。我的意思是,我不想要滚动区域的宽度,而是想要包含的小部件(实际列表)的宽度,它没有完全显示出来,但是我可以用滚动条滚动到它的边缘。换句话说:对于宽度计算,我想假装内部小部件仍然很宽,不会显示任何滚动条,因为这似乎是外部小部件开始显示滚动条时小部件保持不变的大小

如果这是一个常规的
qscrolrea
,我会尝试使用
qscrolrea::widget()->size()
,但是
QTreeWidget
不提供
widget
函数来获取包含的小部件的句柄

因此,问题是:我如何计算/获取
QTreeWidget
的宽度(大小),而忽略这样一个事实:由于滚动条处于活动状态,该小部件可能仅部分显示


注意:我想强调的是,我不想得到视口的宽度减去滚动条的宽度(关于这个主题,这里有很多问题)。

假设一个人正在处理一个“常规”树小部件(水平方向的标题),无论是否通过使用显示水平滚动条,都可以获得树内容的宽度

const int width = myTreeWidget->header()->length();
参考文献: