2009-09-24 46 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