python+qt QDialogButtonBox使用

记录一个QDialogButtonBox使用的坑,不能直接self.psw_ui.buttonBox.accepted.connect(XXX)

XXX里面不能直接加动作,需要另做一个函数才可以。如果直接加动作,将直接触发accepted与rejected的动作。

以下代码不可以直接使用...

class UIUI():
    # 先导入.ui文件,然后关闭

    def __init__(self):
        super().__init__()
        # 加载UI文件
        self.psw_ui = QUiLoader().load("psw_box.ui")
        self.ui = QUiLoader().load("ftp_server.ui")  # 主界面对象
        self.ui.checkBox.clicked.connect(self.psw_box)


    def psw_box(self):
        if self.ui.checkBox.isChecked():
            self.psw_ui.show()
            self.psw_ui.buttonBox.accepted.connect(self.psw_yes)
            self.psw_ui.buttonBox.rejected.connect(self.psw_no)
        else:
            pass

    def psw_yes(self):
        self.username = self.psw_ui.lineEdit.text()
        self.ftp_psw = self.psw_ui.lineEdit_2.text()
        if self.username is None or self.username == "":
            inf("用户名不能为空!")
        elif self.ftp_psw is None or self.ftp_psw == "":
            inf("密码不能为空!")

        else:
            self.psw_ui.close()

    def psw_no(self):
        self.ui.checkBox.setChecked(False)
        self.psw_ui.close()


class inf(QWidget):
    def __init__(self, text):
        super().__init__()

        self.im = QMessageBox.information(self, "提示:", text)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值