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读写ini配置文件方法实例分析
Jun 30 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
关于pip的安装,更新,卸载模块以及使用方法(详解)
May 19 Python
python操作MySQL 模拟简单银行转账操作
Sep 27 Python
用Eclipse写python程序
Feb 10 Python
python对csv文件追加写入列的方法
Aug 01 Python
Python3实现配置文件差异对比脚本
Nov 18 Python
python代码实现TSNE降维数据可视化教程
Feb 28 Python
通过实例解析python创建进程常用方法
Jun 19 Python
详解python方法之绑定方法与非绑定方法
Aug 17 Python
PyQt 如何创建自定义QWidget
Mar 24 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脚本[带参数]的方法
2010/01/22 PHP
关于php mvc开发模式的感想
2011/06/28 PHP
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
ie与session丢失(新窗口cookie丢失)实测及解决方案
2013/07/15 PHP
浅谈php命令行用法
2015/02/04 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
PHP实现APP微信支付的实例讲解
2018/02/10 PHP
nodejs中使用monk访问mongodb
2014/07/06 NodeJs
js实现的奥运倒计时时钟效果代码
2015/12/09 Javascript
JS图片定时翻滚效果实现方法
2016/06/21 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
Jquery-data的三种用法
2017/04/18 jQuery
JavaScript继承与多继承实例分析
2018/05/26 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
[42:32]Secret vs Optic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
Python使用正则表达式实现文本替换的方法
2017/04/18 Python
python实现的AES双向对称加密解密与用法分析
2017/05/02 Python
使用Python读取二进制文件的实例讲解
2018/07/09 Python
Python 从列表中取值和取索引的方法
2018/12/25 Python
python word转pdf代码实例
2019/08/16 Python
matplotlib.pyplot画图并导出保存的实例
2019/12/07 Python
基于python3抓取pinpoint应用信息入库
2020/01/08 Python
Python如何实现的二分查找算法
2020/05/27 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
说一下Linux下有关用户和组管理的命令
2014/08/18 面试题
跟单文员岗位职责
2014/01/03 职场文书
家长对孩子评语
2014/01/30 职场文书
担保书怎么写
2014/04/01 职场文书
乡镇干部先进性教育活动个人整改措施
2014/09/16 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
西安兵马俑导游词
2015/02/02 职场文书
厉害!这是Redis可视化工具最全的横向评测
2021/07/15 Redis