https://www.xuebuyuan.com/282345.html
Qt设置全局的widget的stylesheet
最近widget都是有焦点和无焦点两种情况,这时我们只需要它在有焦点时改变样式,无焦点时不变。
这时候可以通过qApp->setStyleSheet设置全局所有可能用到的widget的样式。
如
1 a.setStyleSheet("QPushButton:focus{border: 3px solid red}");
就可以设置按钮被聚焦时,外边画出一个红框。
但是这里注意:不能使用两行qApp->setStyleSheet来设置样式,这样下面的一次调用会覆盖掉上面的一次调用。
如
1 a.setStyleSheet("QPushButton:focus{border: 3px solid red}"); 2 a.setStyleSheet("QLineEdit:focus{border: 3px solid red}");
这样上面第一行的QPushButton的样式设置就不会生效。
可以采用
1 a.setStyleSheet("QPushButton:focus{border: 3px solid red} QLineEdit:focus{border: 3px solid red}");
这样两个widget都会生效。
另外,对于QComboBox,如果需要在被聚焦时和弹出菜单时都绘制红框,则使用如
1 a.setStyleSheet("QComboBox QAbstractItemView{border: 3px solid red} QComboBox:focus{border