wxpython 中wxOGL的使用 第一篇

前言:csdn的blog中有关wxpython中绘制2D图形之wxOGL库的使用方式的介绍很少,我在这里做一下总结,也用于我自己以后的回顾。

 

1.如何使用wxOGL?

        OGL库原本是用C++语言写成的,但是wxpython对其进行了了相应扩展,这个库被wxpython收录进了wx.lib.ogl库 中,所以如果使用wxpyhon画图,首先要引入的除了wx库,还要有“import wx.lib.ogl as ogl”作为前提,后面的as ogl是为了代码简略而做的重命名(参考python import 相关文章或者直接参考mysql的重命名机制)。

 

2.开始绘图

        要绘图,首先要有“画布”,wxOGL中的画布是一个叫做ShapeCanvas的对象,此对象继承自“wx.ScrolledWindow”是带有滚动条的窗口,此对象可以用Sizer被用户添加到界面相应的位置。但是如果需要显示出滚动条,还需要设置有关滚动条的一些参数,这里不做介绍。

        有了画布,还需要有一个叫做Diagram(图表)的对象,这个对象用来所有添加进来的Shape(形状),接下来要做的,就是将canvas绑定到一个Diagram对象,diagram也绑定到已经这只的canvas,要说diagram有什么用呢?可以理解为,diagram可以实现undo/redo,用来控制整个图形界面的绘制流程。

3.初始化shape

        接下来就需要进行形状的初始化了,ogl中收录了所有你需要的2D图形,都是以***Shape结尾的类,亦可以自定义一些Shape,继承自ogl.DrawnShape。Shape对象就可以对图形的具体参数进行设置了,比如 下面代码:

circle = ogl.CircleShape(100.0)
circle.SetX(75.0)
circle.SetY(74.0)
circle.SetPen(wx.RED_PEN)
circle.SetBrush(wx.BLUE_BRUSH)

就是对某个圆形进行设置。当然,OGL的shape有很多,设置方法呢也都大同小异。需要具体对待了。

4.添加Shape

         有了shape,接下来就简单了,效用canvas的添加函数AddShape(circle),将图形添加进去就可以了。当然,diagram要调用showAll(True)。

 

以上就是一个最为简单Helloworld图形绘制的使用方式,我想在后面几篇中写一点稍微高级的用法,希望有时间来维护。

 


 

 

另附上几个官方资源

http://wxpython.org/docs/api/wx.lib.ogl-module.html

此传送门中收录了有关wxOGL的整体类介绍。

http://biolpc22.york.ac.uk/wx/contrib/docs/html/ogl/ogl.htm

此传送门中有Object Graphics Library 3.0的介绍

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值