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中map和列表推导效率比较实例分析
Jun 17 Python
在Django中创建动态视图的教程
Jul 15 Python
解决python2.7用pip安装包时出现错误的问题
Jan 23 Python
python获取多线程及子线程的返回值
Nov 15 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
浅谈numpy生成数组的零值问题
Nov 12 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
Python ADF 单位根检验 如何查看结果的实现
Jun 03 Python
Python3爬虫发送请求的知识点实例
Jul 30 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
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
php array_multisort 对数组进行排序详解及实例代码
2016/10/27 PHP
Yii2中使用asset压缩js,css文件的方法
2016/11/24 PHP
CI框架附属类用法分析
2018/12/26 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
js过滤数组重复元素的方法
2010/09/05 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
提升PHP安全:8个必须修改的PHP默认配置
2014/11/17 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
微信小程序带动画弹窗组件使用方法详解
2018/11/27 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
[46:57]EG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python Web编程之WSGI协议简介
2018/07/18 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
浅谈python在提示符下使用open打开文件失败的原因及解决方法
2018/11/30 Python
python队列Queue的详解
2019/05/10 Python
Python实现平行坐标图的绘制(plotly)方式
2019/11/22 Python
flask框架蓝图和子域名配置详解
2020/01/25 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
购买原创艺术品:Zatista
2019/11/09 全球购物
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
迟到检讨书400字
2014/01/13 职场文书
七一党建活动方案
2014/01/28 职场文书
2014四风问题对照检查材料范文
2014/09/15 职场文书
会计工作能力自我评价
2015/03/05 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
正能量励志演讲稿三分钟(范文)
2019/07/11 职场文书
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
ant design charts 获取后端接口数据展示
2022/05/25 Javascript