在 PyQT4 中设置菜单栏样式

Styling The Menu Bar in PyQT4

我正在完成我的应用程序,但我不知道如何更改 pyqt4 中的 MenuBar。我使用的是深色和灰色主题,在 windows 上,菜单栏是白色的,我希望它像应用程序的其余部分一样是深色的。如何在 PyQt4 中更改 QMenu 或 QMenuBar 颜色的背景颜色。我已经能够更改下拉菜单,但顶部栏带有 File |工具 |帮助保持白色。我尝试更改的属性:

background-color: # Doesn't seem to do anything
color: # Only changes the text color not the background
alternate-background-color: # Doesn't seem to do anything

也许我只是没有找到正确的 属性 来分配背景颜色以匹配应用程序的其余部分,有点帮助?谢谢!

在我的电脑上看起来不错。

class SubMenu(QMenuBar):
    def __init__(self, parent=None):
        super(SubMenu, self).__init__(parent)
        self.addAction("File")
        self.addAction("View")
        self.setStyleSheet("""QMenuBar {
             background-color: blue;
        }""")
        self.resize(320, 240)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    m = SubMenu()
    m.show()
    app.exec_()

风格 sheet 与项目

class SubMenu(QMenuBar):
    def __init__(self, parent=None):
        super(SubMenu, self).__init__(parent)
        self.addAction("File")
        self.addAction("View")
        self.setStyleSheet("""QMenuBar {
         background-color: blue;
        }

     QMenuBar::item {
         background: blue;
     }""")
        self.resize(320, 240)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    m = SubMenu()
    m.show()
    app.exec_()

希望这条评论有一天能对其他人有所帮助。 PySide2,Python 3+

self.saveFile_action = QAction("&Save", self)
self.saveFile_action.setShortcut("Ctrl+S")
self.saveAllFile_action = QAction("Save &All", self)
self.saveAllFile_action.setShortcut("Ctrl+Shift+S")

self.menuBar = QMenuBar(self)
self.menuBar.setStyleSheet(
"""
QMenuBar
{
    background-color: #333399;
    color: #999;
}
QMenuBar::item
{
    background-color: #333399;
    color: #999;
}
QMenuBar::item::selected
{
    background-color: #3399cc;
    color: #fff;
}
QMenu
{
    background-color: #3399cc;
    color: #fff;
}
QMenu::item::selected
{
    background-color: #333399;
    color: #999;
}
 """
)

self.fileMenu = QMenu("&File", self.menuBar)

self.exportSubmenu = QMenu("&Export", self.fileMenu)

self.fileMenu.addSeparator()
self.fileMenu.addAction(self.saveFile_action)
self.fileMenu.addAction(self.saveAllFile_action)
self.fileMenu.addSeparator()
self.fileMenu.addAction(self.exportSubMenu.menuAction())

self.settinsMenu = QMenu("&Settings", self.menuBar)
self.helpMenu = QMenu("&Help", self.menuBar)

self.menuBar.addAction(self.fileMenu.menuAction())
self.menuBar.addAction(self.settingsMenu.menuAction())
self.menuBar.addAction(self.helpMenu.menuAction())