2016-05-08 5 views
0

私はPythonで書かれたGtk3アプリを開発しています。私のアプリのメインウィンドウは次のように設定されています:Python Gtk.MessageDialog親ウィンドウを隠す

#!/bin/python 
import gi 
gi.require_version('Gtk', '3.0') 

from gi.repository import Gtk as Gtk 

## OTHER IMPORTS 

class MainGui(Gtk.Window): 
    def __init__(self): 
     Gtk.Window.__init__(self, title="APP TITLE") 

     # Defaults 
     self.set_default_size(600, 500) 

     ## OTHER CODE    

     # Setup the Window 
     self.connect("destroy", self.on_close) 
     self.show_all() 

    ## OTHER CODE  

    def on_close(self, widget): 
     if self.editor.get_document().get_has_changes(): 
      save_dialog = Gtk.MessageDialog(self, 0, 
       Gtk.MessageType.QUESTION, 
       Gtk.ButtonsType.YES_NO, 
       "Save changes?") 
      response = save_dialog.run() 

      ## REST OF DIALOG HANDELING 

問題は、保存ダイアログに関連しています。アプリケーションはダイアログを表示しますが、メインウィンドウが隠れてしまいます。これは目的の効果ではありません。私は解決策を探求しようとしましたが、私が間違っていることを理解できないようです。どんな助けでも大歓迎です!

答えて

0

これをポストした直後に、骨折した間違いのために物事がうまくいかなかった理由が分かりました。私はこれを使用して、私のon_closeメソッドをフックした

self.connect("destroy", self.on_close) 

それは私がそれをこのようにやるべきことが判明した:今、物事は素晴らしい仕事

self.connect("delete-event", self.on_close) 

関連する問題