【发布时间】:2015-03-02 12:12:09
【问题描述】:
我有一个带有边框的标签,它是由这个函数设置的:
this->setStyleSheet("border: 1px solid black");
但是当我想改变标签的位置时,我还必须给出边框的宽度和高度,但是我从哪里得到它呢?
【问题讨论】:
我有一个带有边框的标签,它是由这个函数设置的:
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);
【讨论】: