Criei uma QMenuBar com um QMenu com duas ações. No entanto, não consigo descobrir como estilizar o menu suspenso que aparece.
Minha tentativa de estilizar o menu suspenso simplesmente não está funcionando. Pelo que percebi, QAction não pode receber estilos, então tentei QMenu, mas também não funcionou. Então, não sei como estilizar este menu suspenso...
SO: Windows 11 usando PyQt5
from PyQt5.QtWidgets import QApplication, QWidget, QMenuBar, QMenu, QAction, QVBoxLayout, QMainWindow
class test(QMainWindow):
def __init__(self):
super(test, self).__init__()
self.setWindowTitle('test')
self.resize(200,200)
self.mainWindow = QWidget()
self.mainLayout = QVBoxLayout()
self.bar = QMenuBar()
self.menuItem = QMenu('Help')
self.bar.addMenu(self.menuItem)
self.menuAction = QAction('Action')
self.menuItem.addAction(self.menuAction)
self.mainLayout.addWidget(self.bar)
self.mainWindow.setStyleSheet("""
QWidget {
background-color: #222;
color: #cfcfcf;
font-family: Roboto;
font-size: 14pt;
}
QMenuBar {
background-color: #222;
padding-top: 4px;
}
QMenuBar::item {
border-radius: 4px;
border-width: 0;
padding: 4px 8px;
}
QMenuBar::item:selected {
background-color: #777777;
}
QMenu, QAction {
background-color: red;
border-radius: 4px;
border-width: 0;
}
QMenu::item {
color: blue;
}
QMenu::item:selected {
background-color: aqua;
color: orange;
}
""")
self.mainWindow.setLayout(self.mainLayout)
self.setCentralWidget(self.mainWindow)
if __name__ in '__main__':
app = QApplication([])
main = test()
main.show()
app.exec_()