【发布时间】:2020-07-23 00:34:57
【问题描述】:
我在整个窗口中设置了一个样式表,其中QMenu 的背景应该是绿色的。但是,当我创建菜单(MenuBar 类中的self.project_menu)时,它不会继承样式表。如果我改为使用 self.project_menu = self.addMenu("Project") 它工作正常。这样做有什么原因吗?
class MenuBar(QtWidgets.QMenuBar):
def __init__(self):
super(MenuBar, self).__init__()
self.project_menu = QtWidgets.QMenu("Project")
self.addMenu(self.project_menu)
self.create_new_action = self.project_menu.addAction("Create New Project")
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.widget = QtWidgets.QWidget()
self.setCentralWidget(self.widget)
self.mainLayout = QtWidgets.QVBoxLayout()
self.widget.setLayout(self.mainLayout)
self.menu_bar = MenuBar()
self.setMenuBar(self.menu_bar)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
win = MainWindow()
win.setStyleSheet("""
QMenu{
background: green;
}
""")
win.show()
sys.exit(app.exec_())
【问题讨论】:
标签: python pyqt pyside2 qtstylesheets qmenu