1

私はグラフ理論についての学校のプロジェクトを書いています。いくつかのグラフアルゴリズム(ダイクストラ、プリムなど)を実装する必要があります。その後、同じプログラムでそれらを視覚化する必要があります。

グラフを視覚化するために、描画領域内に長方形と線を描画できます。ただし、インタラクティブにするためにマウスイベントを処理する必要があります。

たとえば、ユーザーがグラフに頂点を追加したい場合、マウスの位置が必要です。

私の母国語は英語ではありません。私は自分の問題をうまく説明できませんでした。:)

4

2 に答える 2

4

agtk.EventBoxおよびイベントの 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 ()
于 2012-12-22T12:25:22.777 に答える