在这篇Python文章中,我们将学习使用Pyside2实现的多窗口接口。

为此,我们使用QMdiArea类。 QMdiArea小部件提供了一个在其中显示MDI窗口的区域。因此QMdiArea本质上就像MDI窗口的窗口管理器一样起作用。例如,它绘制自己管理的窗口,并以层叠或平铺模式排列它们。 QMdiArea通常用作QMainWindow中的中心小部件来创建MDI应用程序,但也可以放置在任何布局中。

什么是MDI应用程序?

在开发GUI应用程序时,有时需要同时打开多个文档来处理它们,对于这类功能,我们将使用MDI方法。在多文档接口(MDI)应用程序中,中心小部件由多个实例实例化。所有这些小部件都将在主窗口内相互关联,并共享公共菜单栏、工具栏和其他组件。与SDI应用程序相比,MDI应用程序使用较少的资源。MDI应用程序提供了一个额外的菜单来在窗口之间进行管理,因为底层操作系统不控制在窗口之间进行切换。

这是使用Pyside2的Python多文档接口的完整代码

这是用来设置窗口标题的

在这里,我们设置了窗口的几何形状,比如x,y窗口的位置

窗户的宽度和高度。

在这里,我们创建了QMdiArea的对象,还将QMdiArea设置为主窗口的中心部件。

这些是我们的菜单项。

此方法用于创建子窗口,我们将创建三种不同类型的子窗口,然后在mdi区域中添加子窗口。

什么是QMdiSubWindow ?

QMdiSubWindow类为QMdiArea提供了一个子窗口类。因此,QMdiSubWindow表示QMdiArea中的一个顶级窗口,它由一个带有窗口装饰的标题栏、一个内部小部件以及(取决于当前样式)一个窗口框架和一个大小控件组成。QMdiSubWindow有自己的布局,它由标题栏和内部小部件的中心区域组成。

最后,我们进入了应用程序的主循环。事件处理从这里开始。我们还创建了窗口和QApplication的对象。

现在运行完整的代码,结果如下。

发表评论