我使用 numbox = Gtk.VBox(spacing = 10)
行创建了 Gtk.VBox
容器,并向其中添加了太多小部件和按钮小部件。但是当我在任何按钮小部件上单击一次时 numbox.connect("button-press-event", print_widget_prop)
代码行不起作用。但是当我在任何按钮上单击两到三次时,此代码行就可以工作。为什么当我单击按钮时,此代码行不起作用?
示例
from Gtk3Modules import * # this code line imports Gtk, Gdk, ... module
def do_anything(wid, event):
print("clicked", event.get_click_count()[1], "times")
w = Gtk.Window(title="_Simple_Window_")
w.connect("delete-event", Gtk.main_quit)
evbox = Gtk.EventBox()
evbox.connect("button-press-event", do_anything)
w.add(evbox)
vb = Gtk.VBox()
evbox.add(vb)
lb = Gtk.Label("I am a label")
vb.add(lb)
btn = Gtk.Button("I am a button\nWhen You Single Click me do_anything function not work !")
vb.add(btn)
w.show_all()
Gtk.main()
最佳答案
这是我以前从未见过的。然而,改变
evbox.connect("button-press-event", do_anything)
至
evbox.connect("button-release-event", do_anything)
确实适用于单击(无论如何对我来说)。
关于python - PyGtk3,单击按钮时捕获单击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45334911/