pyqt5 qt dessigner簡單實現

1.功能:將兩種TXT數據轉換爲圖片,並在界面上顯示。

2.實現

          1.qt dessigner上佈局,本次佈局很簡單所以不用多說。

          2.pyqt5上信號與槽的使用和代碼編寫

self.chooceTXTPathpushButton.clicked.connect(self.choose_TXTfile)  # 信號和槽
self.chooceWavPathpushButton.clicked.connect(self.choose_imagePath)  # 信號和槽self.startpushButton.clicked.connect(self.startTran)

我的理解是類似於中斷的觸發一樣的。一般使用 Button 或者Box控件。

3.遇到的問題

          1.matplotlib嵌入到pyqt生成圖片

# pyqt5固定調用 matplotlib 的定義類
class MyMplCanvas(FigureCanvas):
    def __init__(self, parent=None, width=5, height=4, dpi=100):
        fig = Figure(figsize=(width, height), dpi=dpi)
        self.axes = fig.add_subplot(111)
        FigureCanvas.__init__(self, fig)
        self.setParent(parent)

        FigureCanvas.setSizePolicy(self,
                                   QSizePolicy.Expanding,
                                   QSizePolicy.Expanding)
        FigureCanvas.updateGeometry(self)


# 在 widget 控件中垂直佈局 # 實例化一個FigureCanvasQTAgg對象self.figure1
# 添加布局 ,# 將實例化對象self.figure1添加到垂直佈局layout中
 self.layout = QVBoxLayout(self.widget)
 self.figure = MyMplCanvas(self.widget, width=7, height=6, dpi=100)
 self.layout.addWidget(self.figure)
 # 加入圖片數據
 self.figure.axes.plot(capture_card_data)

           2.刪除佈局中的控件,問題在於不刪除控件,數據一直處在,圖片顯示多個波形圖。


# 清除佈局中的控件
import sip
self.layout.removeWidget(self.figure)
sip.delete(self.figure)

4.結果顯示


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