操作系统:Windows 10专业版
品牌型号:联想拯救者R7000
软件版本:PyQt 5.15.11
我们在使用PyQt做桌面应用开发时,界面布局需要整齐,并且不能影响用户使用体验。PyQt支持多种布局方式,比较常用的是垂直布局。同时还支持给GUI设置背景图片,提升界面质感。本文将为大家介绍PyQt如何设置垂直布局,PyQt如何设置背景图片的相关内容。
一、PyQt如何设置垂直布局
垂直布局(QVBoxLayout)是PyQt中比较常用的布局方式,这种布局方式可以将多个控件按照垂直方向,重点是能够自适应窗口变化,我们不需要手动调整控件位置、大小。在实际工作中,登录界面、数据展示界面等场景,一般都需要垂直布局。下面我就以员工信息管理系统的【添加员工】窗口,需要将【姓名】【部门】【职位】等标签与输入框垂直排列,底部放【提交】和【取消】按钮为例,为大家演示PyQt设置垂直布局的方式。
1、导入相关模块,需引入PyQt的QVBoxLayout(垂直布局类)、QWidget(容器控件)以及其他所需的子控件等,引入相关模块的代码可以参考下图。

2、代码的思路是:创建布局对象和子控件,将子控件按照顺序添加到布局中。最后将布局设置主窗口上,最终完成GUI图形界面的绘制。
3、以【添加员工】窗口为例,首先需要使用【QVBoxLayout()】创建垂直布局的对象,并创建子控件添加到布局,最终显示效果如下图所示,不会出现【控件拥挤】【窗口缩放时控件错位】的情况。

在开发过程中,有两个关键点需要注意:一是可以使用嵌套布局,例如上文为大家介绍的案例,我们可以将【提交】【取消】这两个按钮用水平布局,然后再嵌套到垂直布局中。二是伸缩空间(addStretch),可以让控件固定在窗口底部,防止出现窗口缩放时,控件混乱。

二、PyQt如何设置背景图片
背景图片能提升画面质感,在企业定制场景中,一般欢迎界面、登录界面需要设置企业背景图。设置一张低透明度的背景图,体现系统风格,不影响控件显示。PyQt设置背景图片有两种方法,一是QSS样式表法和QPalette调色板法,下面我就详细为大家介绍一下PyQt设置背景图片的方法。
1、QSS设置背景图片
这种方式支持图片自适应、透明度调整,并不需要复杂的代码逻辑。原理是通过设置窗口或容器控件的样式表,指定背景图片的路径、缩放方式、重复方式等。但是需要注意图片路径问题,如果图片与代码文件在同一目录,可使用相对路径,否则就需要使用绝对路径,下图是使用QSS设置登录页面背景图片的显示效果。

2、QPalette调色板设置背景图片
这种方式适用需要动态修改背景图片的场景,例如根据切换不同的背景主题。核心原理是通过QPalette(调色板)设置窗口的背景画刷,将图片用作画刷,显示在窗口背景。有一点需要注意,如果图片不显示,可以把窗口的autoFillBackground属性设置为True。

三、总结
以上就是PyQt如何设置垂直布局,PyQt如何设置背景图片的相关内容。PyQt中如果要设置垂直布局,可以使用QVBoxLayout方法,在实际开发中,一般需要嵌套布局使用,从而绘制出稳定、美观的界面。在做企业定制化开发时,需要设置背景图片,文中为大家介绍了两种设置背景图片的方法,希望对你有所帮助。