繁体   English   中英

PyQt4中的QMenuBar错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM