如何获取QLabel的边框尺寸?

问题描述 投票:0回答:1

我有一个有边框的标签,它是由这个函数设置的:

this->setStyleSheet("border: 1px solid black");

但是当我想改变标签的位置时,我还必须提供边框的宽度和高度,我不知道从哪里得到它们。

qt size border qlabel
1个回答
0
投票

事实上,参数可以通过

this->style();
获得,它返回一个指向
QStyleSheetStyle
的指针......然后通过
renderRule()
可以得到
QRenderRule
存储所有需要的结构。唯一的问题是这些方法是 private 并且供内部使用。

所以最简单的方法是使用RegExp:

QRegExp regexp(".*border: *(\\d+)px.*");
if (regexp.indexIn(btn->styleSheet()) >= 0)
    qDebug() << regexp.cap(1);
© www.soinside.com 2019 - 2024. All rights reserved.