Reference From :

PyQtにおけるクラス設計 -MVCパターン- - ちろる

import os
import sys

from PySide2 import QtCore, QtGui, QtWidgets

class Ctrl(object):
    def __init__(self,view,model):
        self.view = view
        self.model = model
    
        self.view.register(self)  

class Model(object):
    script_updated = 'OCT 12 2021'
    script_version = 'v1.0.0'
    script_name = 'Model'
    script_coding = 'Tatsuya YAMAGISHI'
    script_tool_version = 'Python 3.7.9 & PySide2'
    script_created = 'OCT 12 2021'

    def __init__(self):
        pass

class View(QtWidgets.QWidget):
    def __init__(self, model, parent=None):
        super(View, self).__init__(parent)
        
        self.model = model
    
    def register(self, ctrl):
        self.ctrl = ctrl

def main():
    import qdarkstyle
    app = QtWidgets.QApplication(sys.argv)
    dark_stylesheet = qdarkstyle.load_stylesheet_pyside2()
    app.setStyleSheet(dark_stylesheet)
    
    model = Model()
    view = View(model)
    ctrl = Ctrl(view, model)

    view.show()

    app.exec_()

if __name__ == '__main__':
    main()

t