そんなときはresponce_idをセットすればよい。Gladeでは右ペインの全般タブに応答IDの項目がそれに当たる。
後はgtk_windowをrun()すればresponce_idが返される。これでresponce_idにより、値を得るかどうかの分岐が簡単にできる。
self.wTree = gtk.Builder()
self.wTree.connect("gtk_widget_hide", gtk_widget_hide)
dialog = self.wTree.get_object("DialogName")
response = dialog.run()
if response == 0:
print self.wTree.get_object("entry")
elif response == 1:
print "False"
def gtk_widget_hide(widget):
widget.hide() あと、Dialogとメインのウィンドウを同じgladefileに保存している場合、destroy()してしまうと、再び呼び出したときに崩れてしまうので、Dialogの×はdestroy()ではなく、hide()に関連付けておいたほうがいい。

0 件のコメント:
コメントを投稿