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