欢迎光临散文网 会员登陆 & 注册

Python个人学习笔记 PyQt5——控件(二)

2023-06-24 12:54 作者:ベレッタ  | 我要投稿

布局

    垂直布局 / 水平布局

    网格布局

    表单布局

容器

    MDI窗口



布局(Layouts)

垂直布局(Vertical Layout)/ 水平布局(Horizontal Layout)

放入垂直 / 水平布局中的控件按垂直分布,一行 / 列只能有一个控件,并会根据数量自动调节间距。

属性 / 方法

① Margin

4个内边距。


② layoutSpacing

控件之间的间距。


③ layoutStretch

在调整窗口大小时,用于指定每个部件的伸缩比例。

参数是一个列表,列表长度为布局中的部件个数,可为每个部件分配比例。


④ layoutSizeConstraint

在调整窗口大小时,用于指定每个部件的大小。

SetDefaultConstraint / SetNoConstraint:任意大小。

SetFixedSize:固定大小。

SetMinimumSize:控件大小不会小于最小值。

SetMaximumSize:控件大小不会大于最大值。

SetMinAndMaxSize:控件大小不会超出指定范围。

可对各个控件用 setMinimumSize() / setMaximumSize() 方法来指定最小值 / 最大值。


⑤ addWidget()

addWidget(a0 ,stretch ,alignment)

向布局中添加控件。

参数:

    a0:控件名。

    stretch:伸缩比。

    alignment:对齐方式。


⑥ addStretch() / insertStretch()

添加空白。

addStretch()

参数为伸缩比,在末尾添加。

insertStretch()

第一个参数为插入的位置(索引),第二个参数为伸缩比。

网格布局(Grid Layout)

对于多行多列布局应该用网格布局,而不用垂直、水平布局的嵌套。

addWidget(a0 ,row ,column , alignment)

在指定单元格添加控件,可以直接通过Qt Designer添加。

addWidget(a0 ,row ,column ,rowSpan ,columnSpan ,alignment)

跨行/列添加控件。

row:起始行。

column:起始列。

rowSpan:跨行数。

columnSpan:跨列数。

表单布局(Form Layout)

FormLayout 是一种用于创建表单样式的布局管理器,它可以方便地组织标签和输入控件。它以一种类似于表单的方式排列控件,其中标签位于左侧,输入控件位于右侧。这种布局适用于表单输入、设置面板等场景。

属性layoutRowWrapPolicy

指定表单布局中行的换行策略。

WrapLongRows:当窗口不足以容纳所有行时,会自动换行显示行。

DontWrapRows:输入控件始终在标签右边。

WrapAllRows:输入控件始终在标签下边。即标签和输入控件分别独占一行。



容器(Containers)

MDI窗口(MDI Area)

用于同时显示多个窗口。

Qt Designer

Qt Designer中间可以同时显示多个创建的窗口的灰色区域,就是一个MDI窗口。

常用方法

① addSubWindow()

② removeSubWindow()

只能移除QMdiSubWindow对象。

③ setActiveSubWindow()

激活子窗口。

活动子窗口是指当前用户正在操作或具有焦点的子窗口。

④ closeActiveSubWindow()

⑤ subWindowList()

获取子窗口列表。

⑥ cascadeSubWindows()

级联排列子窗口。

⑦ tileSubWindows()

平铺排列子窗口。


在MDI窗口内新建子窗口

在MDI窗口内新建子窗口


Python个人学习笔记 PyQt5——控件(二)的评论 (共 条)

分享到微博请遵守国家法律