PyQtGraphPyQt5QMainWindow实现菜单栏和工具栏的创建和展示
发布时间:2023-12-13 12:29:19
PyQtGraph是一款用于数据可视化的Python库。它基于PyQt5,提供了一系列丰富的绘图和交互功能。在PyQtGraph中,我们可以使用QMainWindow类创建一个主窗口,并在该主窗口中创建菜单栏和工具栏。
首先,我们需要安装PyQtGraph和PyQt5库,可以使用以下命令进行安装:
pip install pyqtgraph pip install pyqt5
接下来,我们可以通过以下代码创建一个带有菜单栏和工具栏的QMainWindow:
import sys
from PyQt5.QtWidgets import QMainWindow, QApplication, QAction, QToolBar
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.createMenuBar()
self.createToolBar()
self.setGeometry(100, 100, 800, 600)
self.setWindowTitle('PyQtGraph MainWindow')
self.show()
def createMenuBar(self):
menubar = self.menuBar()
fileMenu = menubar.addMenu('File')
openAction = QAction('Open', self)
fileMenu.addAction(openAction)
saveAction = QAction('Save', self)
fileMenu.addAction(saveAction)
exitAction = QAction('Exit', self)
exitAction.triggered.connect(self.close)
fileMenu.addAction(exitAction)
def createToolBar(self):
toolbar = QToolBar(self)
self.addToolBar(toolbar)
plotAction = QAction('Plot', self)
toolbar.addAction(plotAction)
clearAction = QAction('Clear', self)
toolbar.addAction(clearAction)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainwin = MainWindow()
sys.exit(app.exec_())
在上面的代码中,我们首先导入了必要的类和模块。然后,我们创建一个MainWindow类继承自QMainWindow,并在该类的构造函数中调用了initUI方法。
initUI方法用于初始化主窗口的界面。在该方法中,我们调用了createMenuBar和createToolBar方法,分别用于创建菜单栏和工具栏。
在createMenuBar方法中,我们首先通过self.menuBar()获取菜单栏对象,然后使用addMenu方法创建一个名为"File"的菜单。接着,我们使用QAction类创建了三个动作,分别是打开、保存和退出。最后,使用addAction方法将这些动作添加到菜单中。
在createToolBar方法中,我们首先创建一个QToolBar对象,并使用self.addToolBar方法将其添加到主窗口中。然后,我们使用QAction类创建了两个动作,分别是绘图和清除。最后,使用addAction方法将这些动作添加到工具栏中。
最后,在main函数中,我们创建了一个QApplication对象和一个MainWindow对象,然后通过app.exec_()运行主循环,展示主窗口。
运行上述代码,即可展示一个带有菜单栏和工具栏的主窗口。可以通过单击菜单或工具栏中的动作,触发相应的事件。
