2012-12-22 250 views
0

我正在編寫一個關於圖論的學校項目。我需要實現一些圖算法(Dijkstra's,Prim's等)。之後,我需要在同一個程序中將它們可視化。如何在鼠標點擊時獲得鼠標位置 - Python Gtk

我可以在繪圖區域內繪製矩形和線條以使圖形可視化。但我需要處理鼠標事件以使其交互。

例如,當用戶想要爲圖形添加一個頂點時,我需要鼠標的位置。

我的母語不是英語。我無法解釋我的問題很好。 :)

回答

2

使用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