我有一个有边框的标签,它是由这个函数设置的:
this->setStyleSheet("border: 1px solid black");
但是当我想改变标签的位置时,我还必须提供边框的宽度和高度,我不知道从哪里得到它们。
事实上,参数可以通过
this->style();
获得,它返回一个指向 QStyleSheetStyle
的指针......然后通过 renderRule()
可以得到 QRenderRule
存储所有需要的结构。唯一的问题是这些方法是 private 并且供内部使用。
所以最简单的方法是使用RegExp:
QRegExp regexp(".*border: *(\\d+)px.*");
if (regexp.indexIn(btn->styleSheet()) >= 0)
qDebug() << regexp.cap(1);