步驟:將pyqtGraph控件放到QWidget中,然後將QWidget應用到主窗口中。
==============運行中出現的問題=============================
因爲我是在Anaconda的spyder裏面運行的,運行後出現個問題:
G:\Anaconda\lib\site-packages\IPython\core\interactiveshell.py:3334: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
導致每次運行,都需要重啓一下kernel。
剛剛百度查到使用這句:app.aboutToQuit.connect(app.deleteLater) 來解決問題。
======================代碼=============================
from PyQt5.QtWidgets import QMainWindow, QVBoxLayout, QWidget, QApplication
from PyQt5.QtGui import QIcon, QFont
import pyqtgraph as pg
import sys
class MainWindow(QMainWindow):
"""
主窗口
"""
def __init__(self):
#繼承
super(MainWindow, self).__init__()
#定義一個放pyqtGraph的主控件
self.main_widget = QWidget()
#運行
self.init_MainWindow()
def init_MainWindow(self):
#定義一個pyqtGraph控件
pw = pg.PlotWidget()
data = [1,2,3]
pw.plot(data)
# 主窗口布局
layout = QVBoxLayout()
layout.addWidget(pw) #將pw加入到佈局中
# 給主控件應用佈局
self.main_widget.setLayout(layout)
self.setCentralWidget(pw)
# 設置窗口大小,字體,窗口標題
self.resize(1200, 860)
self.setFont(QFont('SansSerif', 10))
self.setWindowTitle('pyqtGraph嵌入到pyqt5')
#self.setWindowIcon(QIcon('./images/python.ico'))
self.show()
if __name__ == "__main__":
app = QApplication(sys.argv)
app.aboutToQuit.connect(app.deleteLater) #多加上這句,解決Anaconda中的問題
my_gui = MainWindow()
sys.exit(app.exec_())