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 合并文件的具体实例
Aug 08 Python
在Python中使用base64模块处理字符编码的教程
Apr 28 Python
python编写爬虫小程序
May 14 Python
Python实现中文数字转换为阿拉伯数字的方法示例
May 26 Python
一个月入门Python爬虫学习,轻松爬取大规模数据
Jan 03 Python
解决DataFrame排序sort的问题
Jun 07 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
python 多线程重启方法
Feb 18 Python
Python使用type关键字创建类步骤详解
Jul 23 Python
Django配置文件代码说明
Dec 04 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Python中itertools库的四个函数介绍
Apr 06 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 smarty 二级分类代码和模版循环例子
2011/06/01 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
Yii编程开发常见调用技巧集锦
2016/07/15 PHP
js函数使用技巧之 setTimeout(function(){},0)
2009/02/09 Javascript
jQuery学习2 选择器的使用说明
2010/02/07 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
node.js中的fs.existsSync方法使用说明
2014/12/17 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
2015/10/23 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
Angular.js自定义指令学习笔记实例
2017/02/24 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
JS图片预加载插件详解
2017/06/21 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
js实现随机数小游戏
2019/06/28 Javascript
jquery插件开发模式实例详解
2019/07/20 jQuery
Vue实现计算器计算效果
2020/08/17 Javascript
vue组件开发之tab切换组件使用详解
2020/08/21 Javascript
[02:01]大师之路——DOTA2完美大师赛11月论剑上海
2017/11/06 DOTA
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
Python3 把一个列表按指定数目分成多个列表的方式
2019/12/25 Python
Pytorch maxpool的ceil_mode用法
2020/02/18 Python
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
AmazeUI 等分网格的实现示例
2020/08/25 HTML / CSS
美国面料纺织品商城:Fabric.com
2017/06/28 全球购物
Currentbody美国/加拿大:美容仪专家
2020/03/09 全球购物
新闻学专业应届生求职信
2013/11/08 职场文书
党风廉政承诺书
2014/03/27 职场文书
高三毕业寄语
2014/04/10 职场文书
2016新年问候语大全
2015/11/11 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
python人工智能human learn绘图可创建机器学习模型
2021/11/23 Python
golang语言指针操作
2022/04/14 Golang
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers