我正在使用pygtk和glade制作一个简单的程序(现在)包括:
GUI: 网格4x4,每个网格显示一个名称。 在网格下进入文本输入。 该程序全屏运行。
行为: 每个名称在无限循环中都可以“选择”10秒。 “selectable”表示无论用户点击何处,都会选择运行10secs时间的名称并将其放在TextEntry上。
我已经制作了GUI,但不知道如何处理它以检测屏幕上任何位置的点击。有什么帮助吗?
答案 0 :(得分:0)
要检测屏幕上任何位置的点击,您可以连接button-press-event
的回调。请注意,这是gdk
事件,您必须使用add_events
方法将此事件添加到掩码中。
以下小程序应该是有用的:
import gtk
def callback(window, event):
assert event.type == gtk.gdk.BUTTON_PRESS
print 'Clicked at x={0}, y={0}'.format(event.x, event.y)
window = gtk.Window()
window.add_events(gtk.gdk.BUTTON_PRESS_MASK)
window.connect('button-press-event', callback)
window.connect('destroy', lambda w: gtk.main_quit())
window.show_all()
gtk.main()