2009-09-24 82 views
1

我正在尋找一個非常簡單的python畫布。我真正需要的是能夠繪製線條和圓圈,將它們移動/擺脫它們,並滾動畫布(所以,我理想的是在無限的畫布上繪製,然後滾動)。理想情況下,代碼如下所示:Python畫布建議

c = Canvas() 
l1 = c.line((x0, y0), (x1, y1)) 
l2 = c.line((x2, y2), (x3, y3)) 
c1 = c.circle(((x0 + x1 + x2 + x3)/4, (y0 + y1 + y2 + y3)/4), 10) 
c1.delete() 
l1.move(5, 10) 
c.scroll(5, 5) 

這只是一場夢代碼,我沒事了一些最小的樣板,但我真的不需要任何幻想,可能是唯一的功能,我真的想將能夠嵌入一些在Windows上看起來不錯的圖形用戶界面(排除Tkinter)並且不是非常重量級(可能排除GTK /開​​羅)。

這是在Python 2.6中。我很樂意給任何其他信息

回答

1

我結束了使用wxPython的具有內置FloatCanvas。儘管如此,我不會爲其他人提供建議。它取決於NumPy,這是一個非常大的安裝,幾乎完全沒有文檔(閱讀源代碼是我編程的應用程序的重要組成部分)。然而,它非常好,對你也有很大的幫助。

WxWiki:http://wiki.wxpython.org/FloatCanvas

文檔:http://www.wxpython.org/docs/api/wx.lib.floatcanvas-module.html

傑韋利:http://trac.paulmcnett.com/floatcanvas

0

我使用pygame的一個很好的協議成功的這樣的事情:

http://www.pygame.org/

+0

我已經看了pygame的,它看起來不錯,但我怎麼能走動的表面?每次表面移動時我都不想手動重繪數百行。另外,有沒有什麼辦法可以在繪製完成後刪除一個圓或幾行? – pavpanchekha 2009-09-24 01:04:34

+0

我創建了一組「對象」。每個「對象」(不管是火箭,導彈還是明星)都有自己的方法。然後很簡單,只繪製可見區域內的東西。每一幀,我會畫一個區域,然後將其交換到可見的顯示中。零閃爍,你100%控制。它可能比你想要的複雜一點。 – gahooa 2009-09-24 01:21:03