[英]An error with QMenuBar in PyQt4
我尝试放置一个MenuBar,但是它没有出现,而且我不知道我做错了什么。
from PyQt4 import QtGui
import sys
class Window(QtGui.QMainWindow):
def __init__(self):
super(Window, self).__init__()
self.setWindowTitle("IDE")
self.initUI
def initUI(self):
grid = QtGui.QGridLayout(self)
menuBar = QtGui.QMenuBar(self)
self.fileMenu = menuBar.addMenu("File")
grid.addWidget(menuBar, 0, 0)
self.setLayout(grid)
结果:
您需要在主窗口上设置菜单栏
self.setMenuBar(menuBar)
在许多情况下,您不需要手动创建菜单栏,只需在主窗口上调用.menuBar()
,它将返回当前菜单栏,或者如果当前菜单栏不存在,则创建一个菜单栏。 如果您的.ui
文件有可能包含菜单栏和菜单栏项,则这是首选方法。
menubar = self.menuBar()
另外,您不能将QMenuBars
添加到布局- 从docs :
无需布置菜单栏。 它会自动将其自己的几何设置到父窗口小部件的顶部,并在调整父窗口大小时适当地对其进行更改。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.