【发布时间】:2019-08-02 22:47:12
【问题描述】:
我发现了非常相似的问题,但没有针对此问题的合理解决方案。我想更改显示在 QMainWindow menuBar 菜单中的 QActions 的样式/外观(例如更改背景颜色)。目的是在再次浏览菜单时突出显示当前选择的操作。
例子:
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()
可以更改 menuBar 中单个菜单的 StyleSheet,但我无法更改 QActions 的 StyleSheet,因为它们不是小部件。但是,似乎可以修改背景,因为 QActions 是例如当鼠标悬停时突出显示 - 就像菜单栏中的菜单一样。有什么想法吗?
【问题讨论】:
标签: python pyqt pyqt5 python-3.5