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