(四)我的第二個GUI程式,實現Python程式的介面與邏輯分離
阿新 • • 發佈:2019-02-17
1. 在Pycharm中,新建專案SecondGUI。
2. 呼叫Qt設計師(Designer.exe),新設計一個視窗的ui檔案(myComboBox.ui)
3. 呼叫PyUIC5,將myComboBox.ui檔案轉為myComboBox.py檔案。
4. 新建my_ComboBox.py檔案。該檔案是實現業務邏輯。
from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import pyqtSlot import os import myComboBox class my_ComboBox(QtWidgets.QMainWindow,myComboBox.Ui_Form): def __init__(self,parent=None): super(QtWidgets.QMainWindow,self).__init__(parent) self.setupUi(self) self.initUI() def initUI(self) : self.comboBox.addItems(self.ListDir()) #新增選項 self.comboBox.currentTextChanged[str].connect(self._comboxChanged) #當選項改變時呼叫_self.comboxChanged() def ListDir(self): filepath="." _dirList = [] for dir in os.listdir(filepath): _dirList.append(dir) return _dirList def _comboxChanged(self,text): self.textBrowser.setText(text)
5. 新建主程式SecondGUI.py。
import my_ComboBox import sys from PyQt5.QtWidgets import * if __name__=="__main__": app=QApplication(sys.argv) form = my_ComboBox.my_ComboBox() form.show() sys.exit(app.exec_())小結:當要進行介面設計時,直接呼叫Qt設計師(Designer.exe)修改,然後用PyUIC5.exe轉成py檔案,不涉及業務邏輯檔案。修改業務邏輯時,只需修改業務邏輯檔案(my_ComboBox.py),不涉及介面設計檔案。兩者實現了分離。