开发图形界面时如何创建多个窗口的实例

比如我的程序有ABCD4个窗口,他们初始化的时候都依赖于前面的窗口传来的信息。比如A输入工作区位置,B展示工作区信息,C展示工作区中一个数据的信息,D是这个数据的编辑窗口。
最简单的方法肯定是在类里生成后面要用的窗口的实例,代码类似于:

class AWindow
    def __init__():
        窗口初始化代码

    def submit():
        data = 读取数据代码
        b_window = BWindow(data)
        b.show()

但是这样问题也显而易见,代码非常耦合,有没有更正规的编程思路?我也尝试过在主函数里拿A的返回值然后新建B窗口,但是逻辑简单还好,逻辑复杂又得搞一堆if出来,好像也不是很简洁易读

我又想到一个方法,在主函数里把所有窗口都建一遍然后不展示,靠信号与槽连接,等到收到数据之后再初始化窗口数据然后展示出来,这样的思路是对的嘛?

最简单的就是数据单独保存. abcd 分别处理这个数据. 这样能保证数据不会因为某个窗口出错或崩溃导致丢失.

从编程思路上讲就是MVC模型.

有道理!感谢 我好像又懂了一些

我自我反省一下,我感觉我最多能做到不在qt控件里写ORM代码
页面数还是不够多 没有紧迫到不用MVC就维护不了的状态

MVC 是一种编程的理念, 主要优势在 解耦合, 更利于分工协作. 对于代码重用也有一定的好处.

你可以根据自己的实际情况来决定, 不一定要完全遵守MVC的策略.

嗯嗯 我来探索一下维护性和代码量的平衡