PySide(PyQt)的特殊按钮(互锁、自锁、独占模式)

界面图:

 Qt Designer中创建窗口,放置一个QGroupBox,命名为btnStation,这就是自定义的按钮站,按钮站里放置6个按钮。自锁按钮相当于电器中的自锁功能的按钮,每按一次状态反转并保持不变。独占按钮也是自锁功能的按钮,不同的是当独占按钮为ON时,其余所有按钮均被置为OFF并且禁用。另外3个互锁按钮为一个互锁组,每一时刻互锁组中只能有一个为ON。

运行效果:

调用脚本:

# encoding: utf-8
# 示例按钮站的Python脚本。
from PySide6.QtCore import QObject, Signal
from PySide6.QtWidgets import QApplication, QMainWindow
import sys
import demo1_rc  # 导入主画面


# 定义主窗口
class MainWindow(QMainWindow, demo1_rc.Ui_MainWindow):
    def __init__(self):
        super().__init__()


# ################公用的功能函数#############################
class Jobs:
    @staticmethod
    # 系统的初始化
    def start_todo():

        # ###############主窗口的部件初始化##################
        window_main.move(0, 0)
        # 主窗口的按钮站
        ui.btnStation = window_main.btnStation.children()   # 按钮站的所有成员,将其定义为全局变量
        ui.interlock_group = [window_main.btn_interlock_a,   # 互锁组成员
               

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

点亮LED灯(TMS570LS31HDK)

一、安装Code Composer studio(CCS) 1.ccs下载地址 2.ccs安装 学习文档 二、安装Hal Code Generator 下载地址 三、创建新的CCS项目(TMDS570LS31HDK) 详细步骤学习博客(推荐这里学习) 以下是大致步骤…

工业 web4.0,UI 风格令人赞叹

工业 web4.0,UI 风格令人赞叹

Fastjson 结合 jdk 原生反序列化的利用手法 ( Aliyun CTF )

2023 Aliyun CTF ezbean是一道CTF java反序列化题目。 题目的目的是让选手通过一个java原生反序列化入口,最终达成RCE。本文对题目的几种解法做了具体的分析,主要分为预期解法和非预期解法两种思路。通过对Fastjson在反序列化的行为分析,从两…

GIT----使用技巧之保存现场回退新建分支继续开发

GIT----使用技巧之保存现场回退新建分支继续开发 前言: 故事是这样的,有一个比较复杂的项目使用的是STM32F103VCT6(资源flash-256k,RAM-48k),开发到一半发现RAM不够用了,换容量更大的芯片STM32F103VGT6(资源…

0.4 隔行扫描(Interlaced Scan)简介

0.4 隔行扫描简介 隔行扫描(Interlaced Scan)是一种将图像显示在扫描式的显示设备上的方法,例如阴极射线管(CRT)。 隔行扫描设备交替扫描图像的奇场(图像的所有奇数行,1、3、5)和偶…

Excel 找出最大值及其相邻的 N 个成员

某列都是数值: A1132213464215496973482396101113712491342144015151631171718114719182030212222423252419251326272738283029163012312332333233419351436463723383739384028 请找出最大值及其相邻的 10 个成员,注意越界检查,实际符合条件…

银行数仓项目实战(四)--了解银行业务(存款)

文章目录 项目准备存款活期定期整存整取零存整取存本取息教育储蓄定活两便通知存款 对公存款对公账户协议存款 利率 项目准备 (贴源层不必写到项目文档,因为没啥操作没啥技术,只是数据。) 可以看到,银行的贴源层并不紧…

Fisnar Liquid Control 操作维修手LC Pump Manual Twinmixer Maintenance 中文

Fisnar Liquid Control 操作维修手LC Pump Manual Twinmixer Maintenance 中文

基于springboot实现交通管理在线服务系统项目【项目源码+论文说明】

基于springboot实现交通管理在线服务系统演示 摘要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装交通管理在线服…

【计算机网络仿真实验-实验2.7】单臂路由

实验2.7 单臂路由 1. 实验拓扑图 2. 测试连通性 测试PC1 PC2 PC3 之间的连通性 无法ping通,因为它们处在不同的网段,而二层交换机不具备路由功能,因此没办法接通 3. 在交换机上创建vlan10,并将端口0/2划分到vlan10中 Switch>…

CUDA系列-Mem-9

这里写目录标题 Static Architecture.Abstractions provided by CUSW_UNIT_MEM_MANAGERMemory Object (CUmemobj) Memory Descriptor(CUmemdesc)Memory Block(CUmemblock)Memory BinsSuballocations in Memory BlockFunctional description Memory Manager 你可能觉得奇怪&…

分班查询,一键发布,老师们都在用的分班查询系统

老师们开学季马上又要到了,回想起了每年埋头苦干,对着一堆堆的学生名单,一个个手动分配班级,再一个个通知家长和学生的日子,那种手忙脚乱,生怕出错的紧张感,是不是还历历在目?每次分…

工作人员能从轧钢测径仪上获取哪些有效信息?

轧钢测径仪安装在轧钢生产线中,无论是热轧还是冷轧,都不能阻挡测径仪的高速无损高精检测。它采用八轴测量系统,能全方位检测外径尺寸,并且配备了测控软件系统,为工作人员提供更加丰富的产线信息。 普通轧钢测径仪能获…

汽车IVI中控开发入门及进阶(三十一):视频知识扫盲

有效的视频资源管理需要集成许多不同的底层技术,共同为用户提供给定应用程序的最佳体验。其中许多技术是从早期电视广播中使用的技术演变而来的。其他方法,如用于通过网络流式传输视频的压缩方法,相对较新且不断发展。 以下详细概述了与图形和视频处理和传输相关的一些基本…

微信小程序入门1

什么是微信小程序? 与传统的原生应用相比,微信小程序是一种全新的连接用户与服务的应用,它可以在微信内被便捷地获取和传播,同时具有良好的用户体验。微信小程序是运行在微信中的应用,是一种不需要下载即可使用的应用…

大众标准化杂志大众标准化杂志社大众标准化编辑部2024年第10期目录

计量技术 计量标准监管体系下的新型技术和新业态监管研究 姚雪艳; 1-3 基于电力能源计量技术节能降耗应用研究 肖冰雪; 4-6 标准课堂《大众标准化》投稿:cnqikantg126.com 现代药物分析技术在中药鉴定中的应用与标准化探索 秦士慧;李婷; 7-9 基于装…

分布式操作系统入门:可的哥(Codigger)引领新潮流

早期,大型机系统盛行,随后个人计算机如Windows、Mac OS等操作系统普及。随着技术发展和计算需求增长,单机系统的局限显现,推动了分布式操作系统的崛起。操作系统演进显露出从单机到多机、从集中到分散的趋势。传统单机系统在处理大…

集合系列(二十六) -利用LinkedHashMap实现一个LRU缓存

一、什么是 LRU LRU是 Least Recently Used 的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。 简单的说就是,对于一组数据,例如:int[] a {1,2,3,4,5,6},…

【Linux】Centos升级到国产操作系统OpenAnolis

一、前言 Anolis OS 7生态上和依赖管理上保持跟CentOS7.x兼容,一键式迁移脚本centos2anolis.py,实现CentOS7.x到Anolis OS 7的平滑迁移 使用迁移脚本前需要注意如下事项: 迁移涉及到软件包的重新安装,是不可逆过程,…

破解神器!Mathtype7.6最新破解版下载体验教程

大家好啊,我是你们的种草机👩‍💼🚀!今天来分享一个超级给力的学术利器——Mathtype7.6最新破解版。作为一名经常和公式打交道的科研狗🐶🔬,这个软件简直是救星啊! Math…