【发布时间】:2019-05-08 09:49:25
【问题描述】:
窗口出现,但菜单栏只显示“Python3.7”,这是什么 它显示我是否不创建菜单栏。这几乎是从教程here 中逐字记录的。 MacOS High Sierra。
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QMainWindow, QPushButton, QAction
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title = 'Menu Bar'
self.left = 10
self.top = 10
self.width = 640
self.height = 480
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
mainMenu = self.menuBar()
fileMenu = mainMenu.addMenu('File')
editMenu = mainMenu.addMenu('Edit')
viewMenu = mainMenu.addMenu('View')
searchMenu = mainMenu.addMenu('Search')
toolsMenu = mainMenu.addMenu('Tools')
helpMenu = mainMenu.addMenu('Help')
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
更新:我发现了这个问题:I need help making a menu bar in PyQt5 关于同样的问题。我运行了适用于 OP 的代码并且它有效!我将尝试找出该代码与我的代码之间的差异并再次发布。
【问题讨论】:
-
我记得Mac OS中的菜单栏不是出现在窗口的上部而是出现在屏幕的上部。见pngkey.com/png/detail/…
-
对,这正是我所期望的。我刚刚添加了一个部分屏幕转储来显示我得到了什么。
-
你是如何启动应用程序的?
-
无论是从命令行启动还是从 PyCharm 的“运行”菜单启动,我都会得到相同的结果。
-
对我来说,我不得不使用 mainmenu = self.menuBar(); mainmenu.setNativeMenuBar(False)
标签: pyqt5 python-3.7