如何修复对话框中的两次点击

How to fix two clicks in dialog

我创建了一个对话框来询问用户是否真的想继续创建另一个文件(文本缓冲区)。但是,我的方法有些东西需要我在按钮是或按钮上单击两次。

我做错了什么?

具体功能代码为:

def createnew ()
    var Hello=new MessageDialog (null, Gtk.DialogFlags.MODAL,
            Gtk.MessageType.INFO, Gtk.ButtonsType.YES_NO, "Hello world!")
    Hello.format_secondary_text ("This will delete the contets. Are you sure?")
    Hello.run ()

    case Hello.run()
        when ResponseType.YES
            _view.buffer.set_text("")
            Hello.destroy ()
        when ResponseType.NO
            Hello.destroy ()

该函数在其他方面运行良好。

您正在呼叫 Hello.run () 两次。第一次,您丢弃结果,第二次将其用于 case 块。