实际使用测试效果来看,直接调用QMainWindow的setStyleSheet设置QSS是无效的。需要在QMainWindow下创建一个空QWidget调用setStyleSheet设置QSS。
例如(参见上图),QtDesigner创建的QMainWindow自带一个centralwidget,可以在centralwidget设置QSS,再使用
setWindowFlag(QtCore.Qt.FramelessWindowHint)
和
setAttribute(QtCore.Qt.WA_TranslucentBackground)
设置QMainWindow无边框和背景透明,就可以看到centralwidget的QSS效果。