python-3.x - Kivymd 对话框关闭

标签 python-3.x debugging dialog kivy kivy-language

我最近将我的 kvmd 更新到了 0.104.1 版,它包含了一些对对话框的重大更改。我的程序包含一个按钮,按下该按钮时会显示一个包含一些文本的对话框和 2 个按钮,即 OK 和 CANCEL。取消按钮只是关闭对话框,而确定按钮更改屏幕并且必须关闭。

我的问题是 OK 按钮,它完美地改变了屏幕,但在那之后它没有关闭,即使我添加了 dismiss()但它与取消按钮一起工作得很好。那么我的代码有问题还是错误?

代码片段:

    def on_signup(self, *args):
        self.dialog_close
        self.sm.current = 'ninput'

    def show_dialog(self, *args):
        if not self.dialog:
            self.dialog = MDDialog(title='Confirmation',
                                   text='You have been registered.',
                                   size_hint=(0.4, 0.3),
                                   buttons=[
                                   MDFlatButton(text='CANCEL',on_release=self.dialog_close), 
                                   MDFlatButton(text="OK!", on_release=self.on_signup) 
                                   ])

        self.dialog.open()

    def dialog_close(self, *args):
        self.dialog.dismiss(force=True)

最佳答案

您忘记了在 on_signup() 方法中调用的 dialog_close() 方法的括号。应该是这样的:

def on_signup(self, *args):
    self.dialog_close()
    self.sm.current = 'ninput'

关于python-3.x - Kivymd 对话框关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61605666/

相关文章:

python - 使用单词列表计算列表中的特定单词

debugging - 如何使用 Chromebug 调试 Firefox 扩展?

swift - 使用 Swift/lldb 比较 Intel 和 Arm 寄存器

javascript - 寻找 javascript 中的瓶颈?

Android DatePicker 对话框未在 Android 6 上显示

java - 为什么此 GWT 对话框不将其两个按钮居中?

jsf - Primefaces 对话框渲染两次

python-3.x - 如何垂直交换数组?

python - 一般来说,序列是否有 str.replace 等价物?

regex - 在python中将相似的字符串分组为单个组