pyqt5实现按钮添加背景图片以及背景图片的切换方法


Posted in Python onJune 13, 2019

简介

对与控件QPushButton中的可以使用setStyleSheet设置它背景图片。具体设置背景图片的方法有两种

self.button.setStyleSheet("QPushButton{background-image: url(img/1.png)}")

然而对于这种方法背景图片无法进行边框的自适应,可以使用下面的方法

self.button.setStyleSheet("QPushButton{border-image: url(img/1.png)}")

可以做到自适应边框。

代码

代码里面有两个图片需要使用,我放在下面了

pyqt5实现按钮添加背景图片以及背景图片的切换方法

代码1

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
 
class Example(QWidget):
 
 def __init__(self):
  super().__init__()
 
  self.initUI() # 界面绘制交给InitUi方法
 
 def initUI(self):
  # 设置窗口的位置和大小
  self.setGeometry(300, 300, 300, 220)
  # 设置窗口的标题
  self.setWindowTitle('QPushButton')
 
  #控件QPushButton的定义和设置
  self.button = QPushButton(self)
  self.button.setStyleSheet("QPushButton{border-image: url(img/1.png)}"
         "QPushButton:hover{border-image: url(img/1_1.png)}" 
         "QPushButton:pressed{border-image: url(img/1_1.png)}")
  #设置控件QPushButton的位置和大小
  self.button.setGeometry(100, 100, 50, 50)
 
 
 
 
if __name__ == '__main__':
 # 创建应用程序和对象
 app = QApplication(sys.argv)
 ex = Example()
 ex.show()
 sys.exit(app.exec_())

具体实现了按钮背景图片,以及鼠标划过按钮的背景切换,以及按下按钮的背景切换。

然而在按下按钮,我需要直接进行图片切换,且不回到原来的背景上。可以参考我的代码2。

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
 
 
class Example(QWidget):
 
 def __init__(self):
  super().__init__()
 
  self.initUI() # 界面绘制交给InitUi方法
  self.slot_init()
 
 def initUI(self):
  # 设置窗口的位置和大小
  self.setGeometry(300, 300, 300, 220)
  # 设置窗口的标题
  self.setWindowTitle('QPushButton')
 
  #控件QPushButton的定义和设置
  self.button = QPushButton(self)
  self.button.setStyleSheet("QPushButton{border-image: url(img/1.png)}"
         "QPushButton:hover{border-image: url(img/1_1.png)}")
 
  # 设置控件QPushButton的位置和大小
  self.button.setGeometry(100, 100, 50, 50)
 
 def slot_init(self):
  self.button.clicked.connect(self.button_change)
 
 def button_change(self):
  # 切换图标变亮
  self.button.setStyleSheet('QPushButton{border-image:url(img/1_1.png)}')
 
 
 
if __name__ == '__main__':
 # 创建应用程序和对象
 app = QApplication(sys.argv)
 ex = Example()
 ex.show()
 sys.exit(app.exec_())

如果需要来回的切换,可以定义一个计数器来解决这个问题。

以上这篇pyqt5实现按钮添加背景图片以及背景图片的切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python ORM框架SQLAlchemy学习笔记之数据查询实例
Jun 10 Python
使用SAE部署Python运行环境的教程
May 05 Python
Python使用django获取用户IP地址的方法
May 11 Python
在Python中使用Neo4j的方法
Mar 14 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
Apr 27 Python
Python占用的内存优化教程
Jul 28 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
Django项目中使用JWT的实现代码
Nov 04 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
Python的in,is和id函数代码实例
Apr 18 Python
python 实现体质指数BMI计算
May 26 Python
python中出现invalid syntax报错的几种原因分析
Feb 12 Python
Python语法分析之字符串格式化
Jun 13 #Python
pyqt5 从本地选择图片 并显示在label上的实例
Jun 13 #Python
通过pycharm使用git的步骤(图文详解)
Jun 13 #Python
Windows 安装 Anaconda3+PyCharm的方法步骤
Jun 13 #Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
Jun 13 #Python
在Pycharm中使用GitHub的方法步骤
Jun 13 #Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 #Python
You might like
PHP连接MySQL查询结果中文显示乱码解决方法
2013/10/25 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
php实现的顺序线性表示例
2019/05/04 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
Javascript select下拉框操作常用方法
2009/11/09 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
jquery 追加tr和删除tr示例代码
2013/09/12 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
nodejs实现用户登录路由功能
2019/05/22 NodeJs
JS面向对象之单选框实现
2020/01/17 Javascript
[14:24]Optic Gaming vs PSG LGD BO3
2018/06/07 DOTA
Python操作Word批量生成文章的方法
2015/07/28 Python
Python命令启动Web服务器实例详解
2017/02/23 Python
numpy中实现二维数组按照某列、某行排序的方法
2018/04/04 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
利用django-suit模板添加自定义的菜单、页面及设置访问权限
2018/07/13 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
如何利用Python识别图片中的文字
2020/05/31 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
Python3.9.1中使用match方法详解
2021/02/08 Python
傲盾软件面试题
2015/08/17 面试题
两道JAVA笔试题
2016/09/14 面试题
播音主持女孩的自我评价分享
2013/11/20 职场文书
大专会计自我鉴定
2014/02/06 职场文书
派出所所长先进事迹
2014/05/19 职场文书
公司费用报销管理制度
2015/08/04 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
2016国庆节活动宣传语
2015/11/25 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
redis实现共同好友的思路详解
2021/05/26 Redis