簡體   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