代码之家  ›  专栏  ›  技术社区  ›  weiqure

当一个gtk窗口调用deleteEvent时,如何防止该窗口关闭?

  •  4
  • weiqure  · 技术社区  · 16 年前

    当窗口关闭时,会要求用户保存他们编辑的文件。他们还可以选择取消退出应用程序。

    在WPF中,我可以将CancelEventArgs.Cancel属性设置为true以执行此操作。GTK中是否有等效/解决方案?

    2 回复  |  直到 16 年前
        1
  •  7
  •   Vinay Sajip    16 年前

    您需要将deleteEventArgs.retval设置为 不是假的。从 relevant Mono documentation :

    保持一个 Gtk.Window 从关闭开始,设置 Gtk.DeleteEventHandler Gtk.DeleteEventArgs.RetVal true .

        2
  •  0
  •   Steven    16 年前

    找到了这个python示例( link )通过谷歌快速搜索:

    # When the window is requested to be closed, we need to check if they have 
    # unsaved work. We use this callback to prompt the user to save their work 
    # before they exit the application. From the "delete-event" signal, we can 
    # choose to effectively cancel the close based on the value we return.
    def on_window_delete_event(self, widget, event, data=None):
    
        if self.check_for_save(): self.on_save_menu_item_activate(None, None)
        return False # Propogate event
    

    希望这有帮助。