这里用到了Qt中的属性机制,就是Q_PROPERTY这个宏,在qss中我们一般只会调用写的方法就是WRITE这是属性里面的,详细介绍可以看qt助手,qss启动属性的写方法是这个字符串:qproperty-“你的属性名”;比如你有个QWidget你设置了他的属性为btText,那你的qss就写qproperty-btText;如下:
class MainWindow : public QWidget
{
Q_OBJECT
Q_PROPERTY(QString btText WRITE setProperty)
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
void setProperty(QString qsText);
};
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setStyleSheet("QWidget#pushButton{qproperty-btText: 吃葡萄不吐葡萄皮 ");
}
WRITE后放你要触发的函数名;函数里你想干啥都行。
这里抛出个疑问:
qproperty-icon: url(":***.png") off,
url(":***.png") on ;
这个off 和on为啥写上去没任何效果呢,欢迎各位大佬指点一二