如何在鼠标点击时获得鼠标位置 - Python Gtk

问题描述:

我正在编写一个关于图论的学校项目。我需要实现一些图算法(Dijkstra's,Prim's等)。之后,我需要在同一个程序中将它们可视化。如何在鼠标点击时获得鼠标位置 - Python Gtk

我可以在绘图区域内绘制矩形和线条以使图形可视化。但我需要处理鼠标事件以使其交互。

例如,当用户想要为图形添加一个顶点时,我需要鼠标的位置。

我的母语不是英语。我无法解释我的问题很好。 :)

使用gtk.EventBox和event'ss xy领域:

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() 
+2

我不明白你为什么会在这里需要一个事件盒,绘图区可以自己捕捉鼠标事件。 – ergosys

+0

@ergosys:或许你是对的。它似乎默认情况下它不,我认为有一些功能来启用事件捕获。如果您还记得它是什么,请编辑答案。 – doublep