栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python PyQt5 按钮添加图片与绑定函数 排雷篇(1)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python PyQt5 按钮添加图片与绑定函数 排雷篇(1)

一篇简单的小文章,介绍如何给PyQt5的按钮(QPushButton)添加图片和绑定函数~


一、给按钮添加图片

首先,我们来了解一下语法~

""" 按钮对象名.setStyleSheet("QPushButton{border-image: url(图片名 或 图片路径)}") """
#例子
pushbutton1 = QPushButton(window)
pushbutton1.setStyleSheet("QPushButton{border-image: url(images/login_button.png)}") 
#相对路径和绝对路径都可以哦

看一下最终效果~(tips:添加图片的按钮记得设置成和图片一样大小)


二、解决按钮绑定函数可能出现的错误

当你想要给一个按钮绑定函数时(以下就以按钮被点击时 即clicked,发出信号绑定函数为例)

先来看一下一般方法绑定的源代码——

#这里 write_password() 函数内容不重要,但是要记得定义哈
b1 = QPushButton(window)   #创建按钮对象
b1.setGeometry(52,436,300,45)    #设置按钮的位置和大小
b1.setStyleSheet("QPushButton{border-image: url(images/login_button.png)}") #绑定图片
b1.setChecked(False)  #设置开始时的状态为未选中
b1.clicked.connect(write_password())   #在被点击时执行 write_password() 函数
b1.clicked.connect(write_password())
TypeError: argument 1 has unexpected type 'NoneType'

这里给报错了,大致意思就是connect传入的参数 write_password() 的种类是NoneType

但是参数的值不可以是None,所以要把参数用 lambda 函数定义一下,使其的值不为None

b1.clicked.connect(lambda:write_password())

修改后的代码——

#这里 write_password() 函数内容不重要,但是要记得定义哈
b1 = QPushButton(window)   #创建按钮对象
b1.setGeometry(52,436,300,45)    #设置按钮的位置和大小
b1.setStyleSheet("QPushButton{border-image: url(images/login_button.png)}") #绑定图片
b1.setChecked(False)  #设置开始时的状态为未选中
b1.clicked.connect(lambda:write_password())   #在被点击时执行 write_password() 函数

至此完美运行,问题解决啦~

如果对您有帮助的话,请点个赞吧,再见~~~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/977282.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号