我試圖找到一種方法來設置不同顏色的菜單項。PyQT QAction/QMenu顏色
因此,舉例來說,網絡指南是藍色的,電子郵件支持是紅色的,1.0版是透明的。
我看了一會兒,想了解如何做到這一點,並試用了Qlabel和QWidgetAction,但這似乎只是作爲文本,而不像動作一樣。
我有一種感覺,這是更痛苦,那麼它是值得的,但是我以爲我會把它扔在那裏一切。
這是我怎麼有樣式表和操作設置:
self.setStyleSheet("""
QMenuBar {
background-color: rgb(49,49,49);
color: rgb(255,255,255);
border: 1px solid ;
}
QMenuBar::item {
background-color: rgb(49,49,49);
color: rgb(255,255,255);
}
QMenuBar::item::selected {
background-color: rgb(30,30,30);
}
QMenu {
background-color: rgb(49,49,49);
color: rgb(255,255,255);
border: 1px solid ;
}
QMenu::item::selected {
background-color: rgb(30,30,30);
}
""")
self.XactionHelpFAQ = QtGui.QAction('Web Guide', self)
self.XactionHelpEmail = QtGui.QAction('Email Support', self)
self.XactionHelpVersion = QtGui.QAction('Version 1.0', self)
self.Xmenubar = QtGui.QMenuBar(self)
self.Xmenubar.setObjectName('menubar')
self.Xmenubar.setGeometry(QtCore.QRect(0, 0, 684, 21))
self.Xmenubar.setSizeIncrement(QtCore.QSize(0, 0))
self.Xmenubar.setDefaultUp(False)
self.XmenuHelp = QtGui.QMenu('Help', self.Xmenubar)
self.XmenuHelp.addAction(self.XactionHelpFAQ)
self.XmenuHelp.addAction(self.XactionHelpEmail)
self.XmenuHelp.addAction(self.XactionHelpVersion)
樣式表,你申請樣式表添加到包含MenuBar和Menu的Widget,但不包含「self.Xmenubar」和「self.XmenuHelp」對象。嘗試使用'self.Xmenubar.self.setStyleSheet(...)'和'self.XmenuHelp.setStyleSheet(...)'。爲了改進你的代碼,你可以簡單地將整個樣式表設置爲你的'QApplication'對象,這樣你就可以確定你的樣式表應用於所有Qt對象。 – SyedElec
良好的通話,現在我的第二個窗口沒有相同的菜單欄樣式表:) 謝謝,這是真正的煩人的這個用戶界面的東西。 –
是的,我確認:) – SyedElec