如何确定QTabBar的高度

如何确定QTabBar的高度,qt,pyqt,qstyle,Qt,Pyqt,Qstyle,我有两个不同的QdockWidget:一个在另一个主_小部件(文件浏览器)上方包含一些按钮,另一个包含一个QTabWidget 问题:我的目标是使主_小部件和选项卡的内容达到相同的高度。如何才能做到最好? 以下是基本布局: # File explorer file_dock = QDockWidget() tools_layout = QHBoxLayout() tools_layout.addWidget(QToolButton(...)) ... layout = QVBoxLayout(

我有两个不同的QdockWidget:一个在另一个主_小部件(文件浏览器)上方包含一些按钮,另一个包含一个QTabWidget

问题:我的目标是使主_小部件和选项卡的内容达到相同的高度。如何才能做到最好?

以下是基本布局:

# File explorer
file_dock = QDockWidget()
tools_layout = QHBoxLayout()
tools_layout.addWidget(QToolButton(...))
...
layout = QVBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
layout.addLayout(tools_layout)
layout.addWidget(main_widget)
file_dock.setLayout(layout)

# Editor
editor_dock = QDockWidget()
layout = QVBoxLayout()
layout.setContentsMargins(0, 0, 0, 0)
editortabs = QTabWidget()
...
layout.addWidget(editortabs)
初步解决方案:

我可以手动调整
tools\u布局
main\u小部件
之间的间距:

layout.setSpacing(2)

但是,此设置取决于操作系统和样式

有没有办法计算所需的间距?

到目前为止,我已经找到了
tools\u布局的
sizeHint()
minimumSize()
totalMinimumSize()
。在一次测试中,他们是一样的。用哪一个

这是所需信息的一半。如何确定标签的高度?在这里,我深入研究了
QStyle.pixelMetric()
,试图

style = qapplication().style()
style.pixelMetric(QStyle.PM_TabBarHSpace)
# ! crashes the program

QTabBar*QTabWidget::tabBar()可能有您需要的信息。谢谢。问题是,在创建另一个QDockWidget时,我无法轻松访问QTabWidget的(或)实例,甚至可能还没有创建它。因此,我想要一个关于metric.QTabBar*QTabWidget::tabBar()的一般性声明,可能有您需要的信息。谢谢。问题是,在创建另一个QDockWidget时,我无法轻松访问QTabWidget的(或)实例,甚至可能还没有创建它。因此,我打算就度量标准发表一项一般性声明。