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多线程编程(七):使用Condition实现复杂同步
Apr 05 Python
视觉直观感受若干常用排序算法
Apr 13 Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 Python
numpy返回array中元素的index方法
Jun 27 Python
Python 中的range(),以及列表切片方法
Jul 02 Python
Django基础知识与基本应用入门教程
Jul 20 Python
Selenium chrome配置代理Python版的方法
Nov 29 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
django删除表重建的实现方法
Aug 28 Python
Django分组聚合查询实例分享
Apr 29 Python
TensorFlow Autodiff自动微分详解
Jul 06 Python
Python引入多个模块及包的概念过程解析
Sep 21 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
不使用php api函数实现数组的交换排序示例
2014/04/13 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
yum命令安装php7和相关扩展
2016/07/04 PHP
laravel 实现登陆后返回登陆前的页面方法
2019/10/03 PHP
JS getMonth()日期函数的值域是0-11
2010/02/15 Javascript
JavaScript高级程序设计 读书笔记之十一 内置对象Global
2012/03/07 Javascript
JavaScript 创建运动框架的实现代码
2013/05/08 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
基于jQuery实现返回顶部实例代码
2016/01/01 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
AngularJS实现表单验证功能详解
2017/10/12 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
使用cx_freeze把python打包exe示例
2014/01/24 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
利用python如何处理nc数据详解
2018/05/23 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
在python3.64中安装pyinstaller库的方法步骤
2020/06/02 Python
HTML5 Canvas的性能提高技巧经验分享
2013/07/02 HTML / CSS
在线课程:Skillshare
2019/04/02 全球购物
档案管理员岗位职责
2013/12/01 职场文书
招商专员岗位职责
2014/02/08 职场文书
行政求职信
2014/07/04 职场文书
2014年食品安全工作总结
2014/12/04 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
施工现场安全管理制度
2015/08/05 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python