「Pyqt5」Pyqt5 通过下拉框触发条件设置按钮是否可用

pyqt5通过下拉框触发条件设置按钮是否可用

*效果为下拉框中为考核人员时,下面两个按钮不可用
为管理人员时,恢复为全部都可用
*

在这里插入图片描述
在这里插入图片描述
代码实现:

首先在class中先声明,大概可以理解为设置个类中的全局变量吧

class ManageWindow(QMainWindow):
    seqRecordEnd = pyqtSignal()
    trainFinished = pyqtSignal()
    btnHistory = None
    btnMark = None
    btnTrain = None

    def __init__(self):
    ...................

类中初始化的方法中还是一样的写:
下拉框初始化

  def setRightUI(self, right):
        #   训练,评判,测试, 历史记录
        vbox = QVBoxLayout()
        vbox.setAlignment(Qt.AlignVCenter)
        self.people_choose = QComboBox()
        self.people_choose.setFont(QFont('微软雅黑', 15))
        self.people_choose.setStyleSheet("QComboBox{background:white}")
        self.people_choose.setMinimumSize(175, 30)
        self.people_choose.addItem('未选择使用人员')
        self.people_choose.addItems(["考核人员", "管理人员"])
        self.people_choose.currentIndexChanged.connect(self.changePeople)
        vbox.addWidget(self.people_choose)

按钮初始化

 def setRightUI(self, right):
        vbox = QVBoxLayout()
        vbox.setAlignment(Qt.AlignVCenter)
 		self.btnHistory = QPushButton('历史记录')
        self.btnHistory.setMinimumHeight(170)
        self.btnHistory.setFont(QFont('微软雅黑', 25))
        self.btnHistory.clicked.connect(self.onBtnHistory)
        self.btnHistory.setStyleSheet(
            '''QPushButton{background:#54FF9F;border-radius:5px;}QPushButton:hover{background:LawnGreen;}''')
        vbox.addWidget(self.btnHistory)

然后再写下拉框的选择触发事件的函数

  def changePeople(self):
        people = self.sender().currentText()
        if people == "未选择使用人员":
            self.people = None

        elif people == "考核人员":
            self.people = people
            QMessageBox.information(self, '注意', '你仅有考核评判权限,请按照要求进行考核 \n(考核评判:选中参与考核的人员>>>选择考核课程>>>点击考核评判)',
                                    QMessageBox.Ok)
            self.btnTrain.setEnabled(False)
            self.btnMark.setEnabled(False)
        elif people == "管理人员":
            self.people = people
            QMessageBox.information(self, '提示', ' 你拥有软件所有权限,按照需求使用各种功能 \n 1.考核评判:选中参与考核的人员>>>选择考核课程>>>点击考核评判 \n '
 '2.训练模型:点击语音标注进行纠错>>>返回主界面点击机器学习 \n 3.查看历史记录', QMessageBox.Ok)
            self.btnHistory.setEnabled(True)
            self.btnTrain.setEnabled(True)
            self.btnMark.setEnabled(True)
        else:
            self.people = people
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zoe_ya

如果你成功申请,可以打赏杯奶茶

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值