1、代码下载地址:https://download.youkuaiyun.com/download/higher80/10580583
2、用到的主要工具:pyqt或者qt的QSplitter工具。
3、实现的主要功能:
(1)动态载入多个子窗体,如下图1-3。点击下图1-3红框里的按钮就可以动态载入不同的子窗体。

图1

图2

图3
(2)实现了动态载入子窗体时界面与业务逻辑分离,见下图4;图中,在红框1里输入字符,点击红框2就可以删除字符。

图4
4、注意事项:
(1)在上面1里提供的下载代码里,注意要修改由代码器生成的代码,比如要修改 ChildrenForm.ui、ChildrenForm2.ui 和 ChildrenForm3.ui 生成的类的名称,避免重复!
(2)上面1里下载的代码里面有三个主程序,分别是 mainfile.py、mainfile2.py 和 mainfile3.py,它们都是可以运行的。但是,mainfile.py 运行后切换窗体时,子窗体里输入的参数在切换窗体后会消失,原因是程序每次会重载新的子窗体;mainfile2.py 用隐藏子窗体的方法实现了保留子窗体输入的参数,但在载入子窗体(即取消隐藏,显示子窗体),子窗体的窗口大小会变化,难看;mainfile3.py 实现了保留子窗体输入参数,且切换窗体时子窗体的窗口大小几乎无变化,实现的思路是在程序启动时就初始化全部需要切换的子窗体(应该是提前放到了内存里)。程序主文件用 mainfile3.py!
(3)修改 ChildrenForm.ui、ChildrenForm2.ui 和 ChildrenForm3.ui 生成的窗体的初始大小,修改为一致的大小;这样在主窗体主窗体动态载入子窗体时才会保持子窗体大小的一致性,即软件界面保持稳定。
本文介绍使用PyQt或Qt的QSplitter工具实现动态加载多个子窗体的方法,并通过实例演示如何做到界面与业务逻辑的分离。文章还讨论了不同主程序文件在保留子窗体输入参数及界面稳定性方面的优劣。
2万+

被折叠的 条评论
为什么被折叠?



