今天將先前的 Pyside6+OpneCV每分鐘記錄一個錄影檔案
改寫成MVC框架
首先,針對view利用designer設計界面如下
新增view資料夾,將上面介面存檔為main.ui
將main.ui編譯成一個獨立python script file
> pyside6-uic main.ui > main_ui.py
新增一個view.py,
1. 新增一個類別View繼承QMainWindow
2. from view.main_ui import UI_MainWindow
意思為從view資料夾下的main_ui.py引用UI_MainWindow類別
3. 透過self.ui = UI_MainWindow() 建立該類別的實體
self.ui.setupUi(self) 套用介面
根目錄新增一個controller資料夾及一個controller.py檔案
在controller.py中
1. from view.view import View 的意思為
從view資料夾下的view.py中引入View類別
2. 創建Controller類別並 新增View類別的實體
self.view = View()
在ex4.py中
1. 從controller資料夾讀取controller.py,引用Controller類別
from controller.controller import Controller
2. 主程式入口
if __name__ == "__main__":
3. 建立應用程式
app = QtWidgets.QApplication(sys.argv)
4. 建立Controller實體
controller = Controller()
5. 防止應用程式直接關閉,會困在這一行
sys.exit(app.exec())
執行ex4.py結果如下
留言列表