Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离

1、代码下载地址:https://download.csdn.net/download/higher80/10585520

2、主要用到的工具:pyqt或者qt的 QSplitter 、 QToolBox 和 QTreeWidget 工具。

3、实现的功能:

(1)主界面左侧导航栏抽屉效果;主界面分割器效果;主界面树形导航效果;主窗体左侧抽屉效果导航栏动态导入子窗体,子窗体已设置分割器;而且第3个子窗体还实现了界面与业务逻辑分离;如下图1-3。 

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第1张图片

                                                                                   图1

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第2张图片

                                                                       图2

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第3张图片

                                                                         图3

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

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第4张图片

                                                                                图4

4、主窗体(QMainWindow类)设计,主要是在主窗体(QMainWindow类)成功布局一个  QSplitter;具体实现步骤如下:

(1)先拖一个Graphics View到主窗体,如下图5和图中的红框1和2。

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第5张图片

                                                                                          图5

(2)再拖一个Graphics View到主窗体,如下图6;这里可以把Graphics View换成其它控件,目的是占位置。

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第6张图片

                                                                              图6

(3)同时选择上图6中的两个 Graphics View,红框1;然后点击下图7红框2里的“使用分裂器水平布局”,之后出现下图8。

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第7张图片

                                                                                     图7

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第8张图片

                                                                                     图8

(4)点击上图8中的空白处,然后点击图中的红框“水平布局”,如下图9。

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第9张图片

                                                                                        图9

(5)点击下图10中红框里的白色框(两个Graphics View类),删除它们;然后出现下图11,在下图11的红框1里只有一个QSplitter了,同时在下图11的红框2里有QSplitter了。

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第10张图片

                                                                                图10

Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离_第11张图片

                                                                               图11

4、注意事项:

(1)在上面1里提供的下载代码里,注意要修改由代码器生成的代码,比如要修改 ChildrenForm.ui、ChildrenForm2.ui 和 ChildrenForm3.ui 生成的类的名称,避免重复!

(2)修改 ChildrenForm.ui、ChildrenForm2.ui 和 ChildrenForm3.ui 生成的窗体的初始大小,修改为一致的大小;这样在主窗体主窗体动态载入子窗体时才会保持子窗体大小的一致性,即软件界面保持稳定。

你可能感兴趣的:(Python3.x+Pyqt5实现主窗体里QToolBox导航栏抽屉效果和树形导航;实现主窗体里的分割器QSplitter用QToolBox导航栏抽屉效果动态载入子窗体;第3子窗实现了界面与逻辑分离)