pyqt5实现按钮添加背景图片以及背景图片的切换方法

简介

对与控件QPushButton中的可以使用setStyleSheet设置它背景图片。具体设置背景图片的方法有两种

self.button.setStyleSheet("QPushButton{background-image: url(img/1.png)}")

然而对于这种方法背景图片无法进行边框的自适应,可以使用下面的方法

self.button.setStyleSheet("QPushButton{border-image: url(img/1.png)}")

可以做到自适应边框。

代码

代码里面有两个图片需要使用,我放在下面了

代码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实现按钮添加背景图片以及背景图片的切换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • PyQt5每天必学之切换按钮

    切换按钮是QPushButton的特殊模式.它是一个具有两种状态的按钮:按压和未按压.我们通过这两种状态之间的切换来修改其它内容. #!/usr/bin/python3 # -*- coding: utf-8 -*- """ PyQt5 教程 在这个例子中,我们创建三个切换按钮. 他们将控制一个QFrame的背景颜色. 作者:我的世界你曾经来过 博客:http://blog.csdn.net/weiaitaowang 最后编辑:2016年8月3日 ""&q

  • PyQt实现界面翻转切换效果

    PyQt实现界面翻转切换效果是用qt的场景功能来实现的,用到了QGraphicsView,QGraphicsLinearLayout,QGraphicsWidget等有关qt场景的库.算是对qt场景的一个小小的尝试,涉及内容不深,程序效果并是随心所欲,需要去进一步的改善和提高.暂且先把代码贴在此处,供大家学习和指正. 工程包括四个类: 界面A,TestMainWindow,用来充当翻转效果的A面. 界面B,TestMainWindowTwo,用来充当翻转效果的B面. 绘图界面:TestGraph

  • pyqt5实现按钮添加背景图片以及背景图片的切换方法

    简介 对与控件QPushButton中的可以使用setStyleSheet设置它背景图片.具体设置背景图片的方法有两种 self.button.setStyleSheet("QPushButton{background-image: url(img/1.png)}") 然而对于这种方法背景图片无法进行边框的自适应,可以使用下面的方法 self.button.setStyleSheet("QPushButton{border-image: url(img/1.png)}&quo

  • Flex中给按钮添加链接点击链接打开网页的方法

    Flex中如何给一个按钮添加链接,点击链接打开一个网页呢? 可以用 navigateToURL 或者 htmlText 实现,请看下面的例子 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initApp()"

  • python之pyqt5通过按钮改变Label的背景颜色方法

    使用setStyleSheet方法修改得到自己想要的字体,大小,颜色 self.lab = QLabel("标签字体大小颜色", self) self.lab.setGeometry(50,50,300,200) self.setStyleSheet("QLabel{color:rgb(225,22,173,255);font-size:50px;font-weight:normal;font-family:Arial;}") color:rgb()中的四个参数,前

  • 如何给Android中的按钮添加图片功能

    在layout中建一个my_login.xml文件 代码如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="

  • css为图片设置背景图片

    CSS的功能是非常强大的,对于元素的表现以及页面的布局,都提供了非常强大的功能,这主要在于我们灵活的运行,在这方面提供了丰富且富含价值的各种教程与信息.对于图片的使用,其实更多的是在内容层.根据WEB标准的思路,表现层的图片,已经都被分离到CSS中去了.只有作为内容的图片才能以IMG标签插入在页面中,这也是一直强调的语义. 为图片设置背景图片,是一个非常搞的实例.这句话或许就感觉有点好玩.我们为以IMG标签引入页面的图片设置背景图片.这样的应用范围或许并不大,但可以锻炼你的思路,让你理解元素在H

  • Python + opencv对拍照得到的图片进行背景去除的实现方法

    有时候我们没办法得到pdf或者word文档,这个时候会使用手机或者相机进行拍照,往往会出现背景,打印出来就是灰色的或者有黑色的背景,这个时候影响视野观看,通过代码实现对背景去除,还原清晰图像.代码如下: #!/usr/bin/python3.6 # -*- coding: utf-8 -*- # @Time : 2020/11/17 19:06 # @Author : ptg # @Email : zhxwhchina@163.com # @File : 去背景.py # @Software:

  • JavaScript实现点击图片换背景

    JS制作网页–点击图片换背景,供大家参考,具体内容如下 网页中有四个图片,点击不同的图片,更换相对应的背景. <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0&quo

  • 使用jQuery在移动页面上添加按钮和给按钮添加图标

    创建按钮 data-role=button 给HTML元素添加 data-role="button" 属性.jQuery Moble就会给此元素增强为按钮样式. Jquery Mobile框架包含了一组最常用的移动应用程序所需的图标,为了减少下载的大小,Jquery Mobile包含的是的白色的图标sprite图片,并自动在图标后添加一个半透明的黑圈以确保在任何背景色下图片都能够清晰显示. 样式链接按钮 在一个网页的主要内容块,你可以样式的任何锚链接为按钮添加 data-role=&q

  • iOS实现通过按钮添加和删除控件的方法

    本文实例为大家分享了iOS通过按钮添加和删除控件,供大家参考,具体内容如下 想要达到的效果如下: 先讲一下这个demo主要部分,即通过按钮实现增删图标 分析: 1.每一个图标需要两个数据,即图片和描述用的字符串 ,所以创建一个Item类来封装从plist文件读取出来的数据: 1)plist文件如下: 2)Item类: .h文件 #import <Foundation/Foundation.h> @interface Item : NSObject //描述的字符串 @property(nona

  • android 仿QQ动态背景、视频背景的示例代码

    本文介绍了android 仿QQ动态背景.视频背景的示例代码,分享给大家,具体如下: 效果如下: 如上图类似效果图: 1, 自定义视频类 继承VideoView public class CustomVideoView extends VideoView { public CustomVideoView(Context context) { super(context); } public CustomVideoView(Context context, AttributeSet attrs)

随机推荐