前回 GtkPan って何だよ GtkGesturePan だろ。
まあいいか、自戒を込めてそのままのタイトルにしておこう。
ところで、ウソを書いてごめんなチャイ。
ダブルクリック検出は n_press パラメータで判別できました。
あの時は何をやっても 1 だったんだけど、実験コードを間違えていただけっぽい。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #!/usr/bin/env python3 import gi, sys gi.require_version( 'Gtk' , '4.0' ) from gi.repository import Gtk class Win(Gtk.ApplicationWindow): ''' Double Click is Destroy ''' def __init__( self , app): Gtk.ApplicationWindow.__init__( self , application = app) # Mouse Button Press ges = Gtk.GestureClick() #ges.set_button(0) # zero is All Mouse Button ges.connect( 'released' , self .on_gesture_click_released) self .add_controller(ges) # resize self .set_default_size( 400 , 300 ) # activate self .present() def on_gesture_click_released( self , ges, n_press, x, y): print (n_press) if n_press = = 2 : self .close() else : print (x) print (y) class App(Gtk.Application): def __init__( self ): Gtk.Application.__init__( self ) def do_startup( self ): Gtk.Application.do_startup( self ) Win( self ) def do_activate( self ): pass app = App() app.run(sys.argv) |
button プロパティでどのボタンを使うか選択、デフォルトは 1 なのか。
ゼロをセットでどのボタンにも反応する、なるほど。
いやそれはいいんだ。
HANDLES_COMMAND_LINE 指定で activate が発行されないまんまじゃないか!
GtkApplication は GTK3 と何も変わっていないってどうよ。
いやまあ、コイツは GLib::GApplication のサブクラスだし。
GLib 側がどうにかしてくれないとこのまんまってことだろう。
連休でイケると思ったけど全然進まなかった、今月中には。。。。。