【发布时间】:2014-12-12 06:25:52
【问题描述】:
我正在尝试查找 QDockWidget 标题栏的高度,以便对自定义布局进行一些智能调整,但标题栏不是单独的小部件,它内置在停靠小部件的私有布局中,并且没有成员可以访问它。有没有其他方法可以找到它的高度?
【问题讨论】:
标签: c++ qt qdockwidget
我正在尝试查找 QDockWidget 标题栏的高度,以便对自定义布局进行一些智能调整,但标题栏不是单独的小部件,它内置在停靠小部件的私有布局中,并且没有成员可以访问它。有没有其他方法可以找到它的高度?
【问题讨论】:
标签: c++ qt qdockwidget
是的,您可以使用停靠栏的QStyle 元素的pixelMetric 成员函数找到标题栏的高度。您可能还想查询边距,因为它会在标题栏周围增加空间,并且布局需要注意它。示例:
QDockWidget * myDock = new QDockWidget;
int titleBarHeight = myDock->style()->pixelMetric(QStyle::PM_TitleBarHeight);
int titleBarMargin = myDock->style()->pixelMetric(QStyle::PM_DockWidgetTitleMargin);
【讨论】:
您始终可以使用合适的类型或对象名称运行 QObject::findChild 以查找其他无法访问的子项。
【讨论】:
QObject::findChild 来解决 OP 的问题。