Python PyQt5 图形界面美化实战:背景、透明与字体设置

巷口听风
巷口听风
发布时间:2026-10-14 | 4人浏览过
原创

本文详解 PyQt5 图形界面的美化技巧,重点讲解如何使用 QSS 样式表添加软件背景图片、控制控件透明度以及调整字体大小。通过具体代码示例,演示如何防止背景图干扰子类控件,实现半透明效果及无边框设计,并对比手动与代码设置字体的方法,帮助开发者提升软件界面视觉效果。

前言

本次学习聚焦于图形设计界面的美化处理。众所周知,使用 QtDesigner 默认生成的界面美观度有限,因此在实际开发中,对界面进行美化是必要的环节。接下来将具体介绍美化的实现方法。

首先需明确美化的作用位置。

1 软件背景的添加

最简便的方式是在设计界面时,直接在样式(style)中使用 CSS 进行美化。


#
添加背景
QWidget {
border-image:url(C:/Users/DELL/Pictures/Saved Pictures/1.jpg);
}
#下面的防止背景干扰其他控件
QTextBrowser {
border-image:url();
}
QLineEdit {
border-image:url();
}
QComboBox {
border-image:url();
}
QLabel {
border-image:url();
}
QPushButton {
border-image:url();
}

其中 url 后跟随的是背景图片在本地计算机中的存储路径(务必选择尺寸合适的图片作为背景)。

虽然添加背景的代码仅需一行,但在设计界面时,由于子类控件继承自父类,父类的样式会被子类继承。为防止背景图片对其他控件产生不良影响,需添加以下代码:

函数名对应的是具体的控件名称。

通过上述写法,可确保该控件的背景不受父类背景图的干扰。


控件名 {
border-image:url();
}

若设置背景时,其他子类控件不进行此类设置,会出现什么情况?

观察可见,子类控件均继承了父类的背景图,导致视觉效果杂乱无章。

2 背景透明化

同样在 style 中设置,但需注意以下几点:控件名称必须准确,数值 180 代表透明度。设置为 0 时完全透明,设置为 255 时完全不透明。

此处设置为 180,相当于半透明效果。color 代表框内字体的颜色。

由于该控件用于输出信息,后续从框内输出的信息字体颜色均会随之改变。.border 用于设置边框,此处设置为 none 表示无边框。

接下来通过 Python 运行程序,观察输出字体的颜色效果。

未输入密码时,状态框无任何显示。

当输入密码错误时,输出的字体颜色发生改变。

3 字体大小设置

字体设置包含两种方法。

方法一:直接手动选择。

方法二:在 style 中使用 QSS 进行美化。

4 控件的背景颜色

若无需设置透明背景,则需为控件添加背景颜色。

总括

本文介绍的是基础美化方法,实际上 QSS 的美化功能十分强大。建议若对软件界面要求较高,仍应使用 QSS 进行美化,这样效果更佳,但需具备一定的 QSS 基础。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表