六、Qt 快速教学
几乎所有的PyQtGraph库的图形界面都是由Qt来生成。 Qt的文档写得很好,我们鼓励所有pyqtgraph开发人员熟悉它。 本节的目的是介绍如何使用Qt(使用PyQt或PySide)编写pyqtgraph开发者程序。
窗口和布局
Qt GUI几乎都是由几个基本组件组成:
- 一个窗口。 这通常由QMainWindow提供,但请注意,如果窗口小部件没有父窗口,只需调用widget.show(),就可以在窗口中显示所有QWidgets。
- 多个QWidget实例,如QPushButton,QLabel,QComboBox等
- QLayout实例(可选,但强烈鼓励),它可以自动管理窗口小部件的位置,同时允许GUI以可调整的方式调整大小。
PyQtGraph通过提供自己的QWidget子类插入到你的GUI中来适应这个方案。
例如:
from PyQt4 import QtGui # (the example applies equally well to PySide)
import pyqtgraph as pg
## Always start by initializing Qt (only once per application)
app = QtGui.QApplication([])
## Define a top-level widget to hold everything
w = QtGui.QWidget()
## Create some widgets to be placed inside
btn = QtGui.QPushButton('press me')
text = QtGui.QLineEdit('enter text')
listw = QtGui.QListWidget()
plot = pg.PlotWidget()
## Create a grid layout to manage the widgets size and position
layout = QtGui.QGridLayout()
w.setLayout(layout)
## Add widgets to the layout in their proper positions
layout.addWidget(btn, 0, 0) # button goes in upper-left
layout.addWidget(text, 1, 0) # text edit goes in middle-left
layout.addWidget(listw, 2, 0) # list widget goes in bottom-