设置样式表时想先设置样式表为空,
setStyleSheet(" ");中间加了空格,后边又调用设置样式表setStyleSheet,结果样式表没有效果。把第一个设置样式表为空的空格去掉,改为setStyleSheet("");后边的样式表效果就正常了。我想知道为什么第一个设置setStyleSheet(" ");会导致后边的样式表设置失效?
“Devil组”引证GPT后的撰写:
小魔女参考了bing和GPT部分内容调写:
这个问题可能是因为空格的原因造成的,在设置样式表的时候,如果想要清空之前的样式表,需要使用setStyleSheet(""),而不是setStyleSheet (""),前者是没有空格的,而后者是有空格的,这样就会导致后边的样式表设置失效。所以,在设置样式表的时候,一定要注意空格的使用,以免出现这种情况。
回答不易,记得采纳呀。
比如对按钮调用:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
//可以看到在代码中设置样式,为了方便阅读,使用了繁琐的Tab和换行
//因此除了特殊地方需要在代码追加修改样式,项目里一般建议在文本文件内写样式表
ui->btn2->setStyleSheet("QPushButton{\
background:#EE6AA7;\
border:1px solid #8B7E66;\
border-radius:5px;\
color:white;\
}\
QPushButton:hover{\
background:#FF6EB4;\
}\
QPushButton:pressed{\
background:#CD6090; \
}");
}
也可直接对MainWindow setStyleSheet, 一次性填入各种不同控件的样式。
因为样式表是可以继承到子窗口的