Я нашел очень похожие вопросы, но не нашел разумного решения этой проблемы.Я хотел бы изменить стиль / внешний вид QActions, которые отображаются в меню панели меню QMainWindow (например, изменить цвет фона).Цель состоит в том, чтобы выделить текущее выбранное действие при повторной навигации по меню.
Пример:
from PyQt5 import QtWidgets, QtCore
class Window(QtWidgets.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setGeometry(50, 50, 500, 300)
action1 = QtWidgets.QAction("action1", self)
action2 = QtWidgets.QAction("action2", self)
action1.triggered.connect(self.print_stuff)
action2.triggered.connect(self.print_stuff)
mainMenu = self.menuBar()
mainMenu.setNativeMenuBar(False)
fileMenu = mainMenu.addMenu('Menu1')
fileMenu.addAction(action1)
fileMenu.addAction(action2)
def print_stuff(self):
print('whatever')
def run():
app = QtWidgets.QApplication([])
application = Window()
application.show()
app.exec_()
run()
Можно изменить таблицу стилей отдельных меню в строке меню, но я не могу изменитьТаблица стилей QActions, поскольку они не являются виджетами.Тем не менее, кажется возможным изменить фон, поскольку, например, QActions подсвечиваются, когда они наводятся мышью, как меню в строке меню.Есть идеи?