【qt】switchBtn

news2024/10/7 10:22:36

在这里插入图片描述
方法1
在这里插入图片描述

在qtdesigner中设置按钮图标的三个属性,normal off 、normal on和checkable=true。

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5 import uic
from switchBtn import Ui_Dialog


class Test(QDialog, Ui_Dialog):
    def __init__(self):
        super(Test, self).__init__()
        self.setupUi(self)

if __name__ == "__main__":
    app = QApplication([])
    window = Test()
    window.show()
    app.exec_()

方法2,通过切换图片

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5 import uic

from switchBtn import Ui_Dialog


class Test(QDialog, Ui_Dialog):
    def __init__(self):
        super(Test, self).__init__()
        self.setupUi(self)
        # uic.loadUi("switchBtn.ui", self)
        self.pushButton.clicked.connect(self.toggleIcon2)
        self.pushButton.setEnabled(True)  # false是点不动按钮
        self.btn_clicked = False

    def toggleIcon2(self):
        self.btn_clicked = not self.btn_clicked
        if self.btn_clicked:
            self.pushButton.setIcon(QIcon('switch_on.png'))
        else:
            self.pushButton.setIcon(QIcon('switch_off.png'))
        print(f"self.btn_clicked: {self.btn_clicked}")


if __name__ == "__main__":
    app = QApplication([])
    window = Test()
    window.show()
    app.exec_()

c++qt版本

bool btn_clicked = false;
    connect(ui->switchBtn,&QPushButton::clicked,this,[this](){
        btn_clicked = !btn_clicked;
        if (btn_clicked) {
            ui->switchBtn->setIcon(QIcon(":/imgs/switch_on.png"));
        } else {
            ui->switchBtn->setIcon(QIcon(":/imgs/switch_off.png"));
        }
        qDebug()<<"btn_clicked:"<<btn_clicked;
    });

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418091.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手敲Mybatis(17章)-二级缓存功能,感受装饰器的魅力

1.目的 本节主要是讲Mybatis的二级缓存&#xff0c;一级缓存是会话SqlSession级别的&#xff0c;二级缓存是Mapper级别的这个大家都知道&#xff0c;一级缓存主要是同一个SqlSession实例才可以缓存&#xff0c;那么出现commit等其他情况可能清除缓存&#xff0c;我想要再发起的…

ABB机器人单周和连续运行模式切换的配置方法

ABB机器人单周和连续运行模式切换的配置方法 有朋友反映:示教器上已经选择了“连续”模式,在通过PLC远程控制ABB机器人启动时,机器人的运行模式会从“连续”自动切换到“单周”, 那么哪里可以设置该选项呢,大家可以参考以下内容: 用户可以在快速设置栏设置机器人运行的运…

Q-Bench:一种用于低级别视觉通用基础模型的基准测试

1. 引言 多模态大语言模型&#xff08;Multi-modality Large Language Models&#xff0c;后续简称多模态大模型&#xff09;能够提供强大的通用级别视觉感知/理解能力&#xff0c;甚至可以通过自然语言与人类进行无缝对话和互动。虽然多模态大模型的这些能力已经在多个视觉语…

解析PreMaint在石油化工设备预测性维护领域的卓越表现

石油化工行业一直在寻找能够确保设备高效运行的先进维护解决方案。在这个领域&#xff0c;PreMaint以其卓越的性能和创新的技术引起了广泛关注。 一、为何选择预测性维护&#xff1f; 传统的维护方法&#xff0c;基于固定的时间表&#xff0c;无法灵活应对设备的真实运行状况。…

金融行业现场故障处理实录

KL银行现场服务记录—HA故障 服务时间 2019年9月10日星期二 14&#xff1a;40 到2019年9月11日星期三 0&#xff1a;30 服务内容 排查redhat RHEL 6.4 一个节点cman启动故障。 &#xff08;1&#xff09;、查看系统日志&#xff1b; &#xff08;2&#xff09;、查看ha日志…

编程大侦探林浩然的“神曲奇遇记”

编程大侦探林浩然的“神曲奇遇记” The Coding Detective Lin Haoran’s “Divine Comedy Adventures” 在我们那所充满活力与创新精神的高职学院中&#xff0c;林浩然老师无疑是众多教师中最独特的一颗星。这位身兼程序员与心理分析专家双重身份的大咖&#xff0c;不仅能在电脑…

APPium简介及安装

1 APPium简介 1. 什么是APPium&#xff1f; APPium是一个开源测试自动化框架&#xff0c;适用于原生、混合或移动Web应用程序的自动化测试工具。 APPium使用WebDriver协议驱动iOS、Android等应用程序。 2. APPium的特点 支持多平台&#xff08;Android、iOS等&#xff09; …

浅谈楼房老旧的配电设备加装电能管理系统的方案

摘要&#xff1a;文章通过对大楼配电设备现状及电能管理系统的需求分析&#xff0c;提出了在大楼老旧配电设备中加装 电能管理系统的方法&#xff0c;包括方案配置、计量点选择、终端改造、数据通信、报表格式等。旨在供无计量 管理系统或仅有电力监控系统的配电系统中加装电能…

目标检测数据集制作(VOC2007格式数据集制作和处理教程)

VOC2007数据集结构&#xff08;目标检测图像分割&#xff09; #VOC2007数据集结构如下&#xff1a; VOC2007|-Annotations#里面存放的是每一张图片对应的标注结果&#xff0c;为XML文件&#xff0c;#标注完成后JPEGImages每张图片在此都有一一对应的xml文件|-ImageSets#存放的是…

论文笔记:TimeGPT-1

时间序列的第一个基础大模型 1 方法 最basic的Transformer架构 采用了公开可用的最大时间序列数据集进行训练&#xff0c;包含超过1000亿个数据点。 训练集涵盖了来自金融、经济、人口统计、医疗保健、天气、物联网传感器数据、能源、网络流量、销售、交通和银行业等广泛领域…

人工智能趋势报告解读:ai野蛮式生长的背后是机遇还是危机?

近期&#xff0c;Enterprise WordPress发布了生成式人工智能在营销中的应用程度的报告&#xff0c;这是一个人工智能迅猛发展的时代&#xff0c;目前人工智能已经广泛运用到内容创作等领域&#xff0c;可以预见的是人工智能及其扩展应用还将延伸到我们工作与生活中的方方面面。…

【C++】C++入门基础讲解(二)

&#x1f497;个人主页&#x1f497; ⭐个人专栏——C学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 导读 接着上一篇的内容继续学习&#xff0c;今天我们需要重点学习引用。 1. 引用 在C中&#xff0c;引用是一种特殊的变量&#xff…

成都直播产业园解析直播供应链金融服务,天府锋巢直播产业基地打造“金融+产业+生态”新型模式

天府锋巢直播产业基地如何打造“金融产业生态”新型模式&#xff1f; 本文将为您全面解析基地提供的成都直播产业园供应链金融服务 锋巢资讯&#xff5e;每周准时报道&#xff5e;&#xff5e; 赶紧下拉&#xff0c;阅读全文 Q:企业入驻园区能获得哪些直播供应链金融服务&…

如何注册海外苹果账号下载软件?

国内的苹果Appstore有严格的上线审查&#xff0c;导致很多软件不支持。只能通过海外的苹果账号登录后下载。 比如chatgpt还有加密资产的大部分软件。 其实自己注册一个很简单。 一、注册国内Apple ID 打开苹果官网&#xff0c;https://appleid.apple.com 注册一个中国区的A…

【机器学习】正则化

正则化是防止模型过拟合的方法&#xff0c;它通过对模型的权重进行约束来控制模型的复杂度。 正则化在损失函数中引入模型复杂度指标&#xff0c;利用给W加权值&#xff0c;弱化了数据的噪声&#xff0c;一般不正则化b。 loss(y^,y)&#xff1a;模型中所有参数的损失函数&…

【代码审计】小白友好的根据CNVD审计BEESCMS

BEESCMS源码下载 目录 ①BEESCMS后台登录存在SQL注入漏洞(CNVD-2020-62375) ②BEESCMS存在任意文件删除漏洞(CNVD-2020-33193) ③BEESCMS存在文件上传漏洞(CNVD-2018-18082) ④BEESCMS企业网站管理系统存在文件包含漏洞(CNVD-2020-64781) ①BEESCMS后台登录存在SQL注入漏洞…

Python接口自动化框架设计到开发

1.如何设计一个接口自动化测试框架 根据接口地址、接口类型、请求数据、预期结果来进行设计&#xff0c;对于需要登录后才能进行操作的接口那么则需要进行header cookie等数据的传递&#xff0c;自动化测试的难点就是数据依赖。 2.python操作excel获得内容 首先python操作exce…

SSL加密证书免费申请

首先&#xff0c;让我们来了解一下SSL证书的基本作用。SSL证书通过公钥和私钥的非对称加密技术&#xff0c;使得服务器与浏览器之间的通信内容得到高强度加密&#xff0c;同时验证网站的真实身份&#xff0c;从而提升用户的信任度&#xff0c;也是搜索引擎排名优化的一个重要因…

JSP和JSTL板块:第一节 JSP追根溯源 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 JSP和JSTL&#xff1a;第一节 JSP主要内容 一、什么是JSP二、IDEA的JSP相关配置1.UTF-8编码2.JSP代码模板 三、JSP的底层是Servlet四、Jsp的注释1.显式注释2.隐式注释 五、Scriptlet : 写在Jsp里的java脚本段 一、什么是JSP JSP: Java Server Page。SUN 公司提供的动态…

C语言实现快速排序算法(附带源代码)

快速排序 在区间中随机挑选一个元素作基准&#xff0c;将小于基准的元素放在基准之前&#xff0c;大于基准的元素放在基准之后&#xff0c;再分别对小数区与大数区进行排序。 动态效果过程演示&#xff1a; 快速排序&#xff08;Quick Sort&#xff09;是一种常用的排序算法&…