界面图:
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, # 互锁组成员