如何在鼠标点击时获得鼠标位置 - Python Gtk
问题描述:
我正在编写一个关于图论的学校项目。我需要实现一些图算法(Dijkstra's,Prim's等)。之后,我需要在同一个程序中将它们可视化。如何在鼠标点击时获得鼠标位置 - Python Gtk
我可以在绘图区域内绘制矩形和线条以使图形可视化。但我需要处理鼠标事件以使其交互。
例如,当用户想要为图形添加一个顶点时,我需要鼠标的位置。
我的母语不是英语。我无法解释我的问题很好。 :)
答
使用gtk.EventBox
和event'ss x
和y
领域:
import gtk
win = gtk.Window()
box = gtk.EventBox()
area = gtk.DrawingArea()
def onclick (box, event):
print event.x, event.y
box.connect ('button-press-event', onclick)
box.add (area)
win.add (box)
win.show_all()
win.connect ('destroy', lambda *x: gtk.main_quit())
gtk.main()
我不明白你为什么会在这里需要一个事件盒,绘图区可以自己捕捉鼠标事件。 – ergosys
@ergosys:或许你是对的。它似乎默认情况下它不,我认为有一些功能来启用事件捕获。如果您还记得它是什么,请编辑答案。 – doublep