サブクラス化したウィンドウを閉じる必要がある状況に陥りましたGtk.Window
。window.destroyイベントを接続して、最初にGtk.main_quit
テストのためにウィンドウを閉じていましたが、モジュールをメインプログラムにロードしたとき、もちろん、メインプログラムを閉じずにその方法でそれを行うことはできませんでした。関数を書いたとき、私は愚かにもwindow.destroy()
メソッドを呼び出しましたが、それは私にとって愚かで、最大再帰エラーになりました。そこで、「delete-event」を接続してwindow.destroy()
から、(私が学んだように)destroyイベントがdelete-eventを呼び出すため、まだ繰り返されているを呼び出すことにしました。そこで、destroyイベントを関数に接続し、次の呼び出しを試みました。
window.emit('delete-event')
これは機能しましたが、別のパラメーターが必要なときにエラーが発生しました。調べてみると、gtk2から次のようなものである必要があることがわかりました。
window.emit("delete-event", gtk.gdk.Event(gtk.gdk.DELETE))
下で見つけることができるように私はGdk
下で見つけることができません。私はこれが好きではありません。Gdkをインポートして見つかりましたが、に相当するものはありません。私はした:Gtk
gdk
gtk
Gdk.Event
gtk.gdk.DELETE variable
l = dir(Gdk)
for i in l:
if 'DELETE' in i:
print(i)
そして、Gdkで定義されたDELETE変数を思いつきませんでした。
GtkからGdkにアクセスするにはどうすればよいですか?そうでない場合、これらのgtk.gdk ...がGdkの下に存在しない場合、どのように変換しますか?
最終的に、私はちょうどしました:
del window
私がする必要があることをするために、しかし私はまだ学習目的のために上記のGtk3で信号を発する方法を知りたいです。
ありがとう、
ナルニア国物語