2011-02-16 33 views
2

我有一个QWidget,它可能是一个带有标题栏和框架的窗口,也可能是一个简单的控件,如按钮或框架。Qt:如何获取特定小部件的像素指标

如何编写代码来查询标题栏高度,以便我得到正确的结果 - 即系统标题栏高度(如果是带有一个的窗口,否则为0)?

我尝试使用将QStyle像素指标,但它总是返回系统值:

QStyleOptionTitleBar option; 
option.initFrom(widget); 
captionHeight = widget->style()->pixelMetric(QStyle::PM_TitleBarHeight, &option, widget); 

回答

0

this link图片告诉你所有你需要知道的。

+0

我应该提到,我想获得这些信息显示在窗口前。我已经尝试过使用geometry()和frameGeometry()之间的区别,但是直到你真正调用了窗口小部件上的show(),它们才返回相同的值。 – pineweasel 2011-02-17 11:04:33

1

使用widget::isWindow()说,如果该部件是在它自己的窗口 - 然后使用你有什么

相关问题