菜单和工具栏
Menus and toolbar
我是编程新手,我在 Python 和 PySide 中创建了一个简单的应用程序 class 来处理 phone bill csv 文件。现在我也想要一个移动选项。
当我的 class 继承自 QWidget 时,如何添加菜单栏?我是否应该编写另一个继承自 QMainWindow 的 class,然后将我的第一个 class 的实例作为中央小部件?这是正确的做法吗?
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)
...
不需要 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
并只添加您想要的内容。
我是编程新手,我在 Python 和 PySide 中创建了一个简单的应用程序 class 来处理 phone bill csv 文件。现在我也想要一个移动选项。
当我的 class 继承自 QWidget 时,如何添加菜单栏?我是否应该编写另一个继承自 QMainWindow 的 class,然后将我的第一个 class 的实例作为中央小部件?这是正确的做法吗?
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)
...
不需要 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
并只添加您想要的内容。