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中断言Assertion的一些改进方案
Oct 27 Python
详解python中的文件与目录操作
Jul 11 Python
Python中将变量按行写入txt文本中的方法
Apr 03 Python
numpy linalg模块的具体使用方法
May 26 Python
pd.DataFrame统计各列数值多少的实例
Dec 05 Python
python中return的返回和执行实例
Dec 24 Python
python 在threading中如何处理主进程和子线程的关系
Apr 25 Python
使用python实现时间序列白噪声检验方式
Jun 03 Python
Python代码注释规范代码实例解析
Aug 14 Python
对Pytorch 中的contiguous理解说明
Mar 03 Python
python保存大型 .mat 数据文件报错超出 IO 限制的操作
May 10 Python
python数字图像处理之图像的批量处理
Jun 28 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 mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
2016/07/12 Javascript
常用的javascript设计模式
2017/01/11 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
全面解析vue中的数据双向绑定
2017/05/10 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
2018/06/20 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
Vue.js的动态组件模板的实现
2018/11/26 Javascript
基于Webpack4和React hooks搭建项目的方法
2019/02/05 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
Python每天必学之bytes字节
2016/01/28 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
名片管理系统python版
2018/01/11 Python
通过Pandas读取大文件的实例
2018/06/07 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
python3下载抖音视频的完整代码
2019/06/05 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
html5 利用重力感应实现摇一摇换颜色可用来做抽奖等等
2014/05/07 HTML / CSS
Mio Skincare法国官网:身体紧致及孕期身体护理
2018/04/04 全球购物
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
PHP两种查询函数array/row的区别
2013/06/03 面试题
奖学金自我鉴定范文
2013/10/03 职场文书
十佳护士获奖感言
2014/02/18 职场文书
项目施工员岗位职责
2014/03/09 职场文书
关于诚信的活动方案
2014/08/18 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
永远是春天观后感
2015/06/12 职场文书
五一放假通知怎么写
2015/08/18 职场文书
2016大学生国家助学贷款承诺书
2016/03/25 职场文书
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电