我是编程新手,我创建了一个简单的应用程序,其中包含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)
...
答案 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
并仅添加您想要的内容。