【第三节】PyQt5布局管理

文章目录 [ 隐藏 ]

PyQt5布局有两种方式,绝对定位和布局类

绝对定位

程序指定每个控件的位置和大小(以像素为单位)。

绝对定位有以下限制:

  • 如果我们调整窗口,控件的大小和位置不会改变
  • 在各种平台上应用程序看起来会不一样
  • 如果改变字体,我们的应用程序的布局就会改变
  • 如果我们决定改变我们的布局,我们必须完全重做我们的布局

下面的例子显示了一个绝对定位

我们使用move()方法来控制控件的位置。

QQ图片20170327084011

框布局 Boxlayout

我们使用QHBoxLayout和QVBoxLayout,来分别创建横向布局和纵向布局。

在这个例子中,我们使用HBoxLayout和QVBoxLayout并添加伸展因子,在窗口的右下角显示两个按钮。

我们创建一个水平布局和添加一个伸展因子和两个按钮。两个按钮前的伸展增加了一个可伸缩的空间。这将推动他们靠右显示。

创建一个垂直布局,并添加伸展因子,让水平布局显示在窗口底部

最后,我们设置窗口的布局界面

buttons

表格布局 QGridLayout

表格布局将空间划分为行和列。我们使用QGridLayout类创建一个网格布局。

在我们的示例中,我们创建一个网格的按钮。

QGridLayout的实例被创建并设置应用程序窗口的布局。

这些按钮的标签。

我们创建一个网格中的位置的列表。

创建按钮并使用addWidget()方法添加到布局中。

calculator

评论的例子

控件可以在网格中跨越多个行或列。在下一个示例中,我们说明了这一点。

我们创建一个窗口,其中有三个标签,两个行编辑和一个文本编辑窗口小控件。然后使用QGridLayout完成布局。

创建一个网格布局和设置组件之间的间距。

在添加一个小的控件到网格的时候,我们可以提供小部件的行和列跨。在例子中,reviewEdit控件跨度5行。

review

未经允许不得转载:Python在线学习 » 【第三节】PyQt5布局管理

赞 (13)

来吐槽吧 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. 薿迚峫能不能把注释写清楚点回复
    • 拼命三郎谢谢宝贵意见,有时间会添加更详细注释回复