菜单和工具栏

时间:2015-08-11 06:07:59

标签: python pyside menubar qwidget qmainwindow

我是编程新手,我创建了一个简单的应用程序,其中包含Python和PySide中的一个类,它操作电话帐单csv文件。现在我想要一个移动选项。

当我的类继承自QWidget时,如何添加菜单栏?我应该编写另一个继承自QMainWindow的类,然后将我的第一个类的实例作为中心小部件吗?这是正确的方法吗?

class MyWidget(QtGui.QWidget):

    def __init__(self, parent=None):
        super(MyWidget, self).__init__(parent)
        ....


class MyWindow(QtGui.QMainWindow):

    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)

        widget = MyWidget()
        self.setCentralWidget(widget)
        ...

1 个答案:

答案 0 :(得分:2)

不需要QMainWindow,您只需在窗口小部件中创建QMenuBar

class MyWidget(QtGui.QWidget):
    def __init__(self, parent=None):
        super(MyWidget, self).__init__(parent)
        self.menu=QtGui.QMenuBar()
        self.menu.addAction("do something")
        layout=QtGui.QVBoxLayout()
        layout.addWidget(self.menu)

QMainWindow基本上是一个小部件,它已经有一个带有菜单栏,工具栏,状态栏等的布局。如果你不需要所有这些功能,你可以使用一个简单的QWidget并仅添加您想要的内容。