PyQt5 在按钮上添加图片

在用Python(PyQt5)做图形界面开发时,如果我们要手动实现一个带有刷新图标的按钮时,那么就要用到在按钮上添加图片的功能,下面将直接介绍实现方法:

方法一、为按钮添加样式setStyleSheet

  • 设置background-image
button = QPushButton()
img_path = ''	# 图片路径
button.setStyleSheet("QPushButton{\n"
"background-image: url(\"%s\");\n"
"background-position:center;\n"
"background-repeat:no-repeat;\n"
"}" % img_path)
# background-image: url(\"%s\") 为设置的图片路径
# background-position:center 设置图片位置
# background-repeat:no-repeat 设置图片不重复

 注意:该方式需要将图片大小预先调整好,因为background-image不会去自适应按钮大小

  • 设置border-image
button = QPushButton()
img_path = ''	# 图片路径
button.setStyleSheet("QPushButton{\n"
"border-image: url(\"%s\");\n"
"}" % img_path)
# border-image: url(\"%s\") 为设置的图片路径

 该方法可以将图片直接自适应按钮大小,不需要调整图片,方便简洁。(但我在Mac上使用该方法时,点击按钮没有按钮动作,可以触发事件,问题待排查)

方法二、设置图片Icon setIcon

from PyQt5 import QtCore, QtGui, QtWidgets

button = QPushButton()
img_path = ''	# 图片路径
button.setIcon(QtGui.QIcon(img_path))
button.setIconSize(QtCore.QSize(25, 25))	# 设置icon大小

 该方法也不需要调整图片大小,可以自适应适配。
但我在Mac上仍然出现了该问题: 点击button无按钮效果,可以触发事件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值