Qt:如何获取特定小部件的像素指标

Posted

技术标签:

【中文标题】Qt:如何获取特定小部件的像素指标【英文标题】:Qt: How to get pixel metrics for a particular widget 【发布时间】:2011-02-16 17:42:49 【问题描述】:

我有一个 QWidget,它可能是一个窗口,带有标题栏和框架,也可能是一个简单的控件,例如按钮或框架。

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

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

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

【问题讨论】:

【参考方案1】:

使用widget::isWindow() 来判断小部件是否在它自己的窗口中 - 然后使用你所拥有的

【讨论】:

以上是关于Qt:如何获取特定小部件的像素指标的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Qt 的 qgrid 布局中获取小部件的坐标

如何使用 Qt/C++ 小部件(不是 QML)从 Android 相机获取图像

如何获取样式表设置的Qt中小部件的字体?

发送缩放到打印机的小部件内容

如何在 Qt 层次结构的根小部件中获取鼠标按下事件

如何创建自己的使用 qss 的 qt 小部件