1. 程式人生 > >(四)我的第二個GUI程式,實現Python程式的介面與邏輯分離

(四)我的第二個GUI程式,實現Python程式的介面與邏輯分離

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),不涉及介面設計檔案。兩者實現了分離。