pyqtGraph嵌入到pyqt5

步驟:將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_())

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章