class MenuBarWidget(QMenuBar):
sig_new_file = pyqtSignal()
sig_open_file = pyqtSignal()
sig_save_file = pyqtSignal()
sig_page_setup = pyqtSignal()
sig_print = pyqtSignal()
sig_exit = pyqtSignal()
sig_status_bar = pyqtSignal(bool)
def __init__(self):
super().__init__()
self.init_menu_file()
# self.init_menu_edit()
# self.init_menu_format()
# self.init_menu_view()
# self.init_menu_help()
# self.set_all_text()
def init_menu_file(self):
self.act_new_file = QAction('File', self)
self.act_new_file.setShortcut(QKeySequence('Ctrl+N'))
self.act_new_file.triggered.connect(lambda: self.sig_new_file.emit())
self.act_open_file = QAction('Open', self)
self.act_open_file.setShortcut(QKeySequence('Ctrl+O'))
self.act_new_file.triggered.connect(lambda: self.sig_open_file.emit())
self.act_save_file = QAction('Save', self)
self.act_save_file.setShortcut(QKeySequence('Ctrl+S'))
self.act_save_file.triggered.connect(lambda: self.sig_save_file.emit())
self.act_print = QAction('Print', self)
self.act_print.setShortcut(QKeySequence('Ctrl+P'))
self.act_print.triggered.connect(lambda: self.sig_print.emit())
self.act_quit = QAction('Quit', self)
self.act_quit.setShortcut(QKeySequence('Ctrl+Q'))
self.act_quit.triggered.connect(lambda: self.sig_exit.emit())
我想用 PyQt 5.15 为 MacOs 10.15.6 上的窗口制作一个菜单栏
我使用 QMenuBar 类作为自定义菜单栏,在“文件”菜单下创建了一些子菜单并将其添加到 QMainWindow 中,我可以看到全局菜单栏创建在显示屏顶部,就像其他 MacO 一样。
但是创建的全局菜单栏不可单击。我单击了它,但它没有显示“文件”菜单下方的子菜单。
但是这种方式使用下面的“setNativeMenuBar(False)”可以像 Windows 应用程序一样正常工作,但我想使用本机 MacOs 菜单栏
QMainWindow.menuBar() and QMainWindow.setNativeMenuBar(False)
这是图像。
https://i.stack.imgur.com/hv0VA.jpg
慕村9548890
慕尼黑8549860
相关分类