我如何在 kivymd 中使用 on_enter 函数中的对话框?

how do i use dialog in on_enter function in kivymd?

所以我想在第一次访问屏幕时调用一个对话框,我是这样做的:

class LoginScreen(Screen):
    def dialog_close(self, *args):
        if self.dialog:
            self.dialog.dismiss(force=True)
    def show_dialog(self,*args):
        if not self.dialog:
            self.dialog=MDDialog(text="test",buttons=[MDFlatButton(text="Ok",on_release=self.dialog_close())])
        self.dialog.open()
    def on_enter(self):
        self.show_dialog()
    def Sign_In(self,*args):
        self.manager.current="main_screen"

但是当我 运行 此代码时出现错误:“LoginScreen 没有属性对话框” 所以我试图声明一个变量

dialog=None 

在函数之前,但我得到一个错误,说 None 类型没有属性 dismiss,所以它似乎不是它是如何完成的,那我该怎么办呢?

问题是您的 show_dialog() 方法正在调用 dialog_close()。尝试更改:

on_release=self.dialog_close()

至:

on_release=self.dialog_close

删除 ().