Showing posts with label wxPython. Show all posts
Showing posts with label wxPython. Show all posts

Monday, March 18, 2013

VPython - Python plus 3D graphics


By Vasudev Ram

VPython 'is the Python programming language plus a 3D graphics module called "visual" originated by David Scherer in 2000. VPython makes it easy to create navigable 3D displays and animations, even for those with limited programming experience. Because it is based on Python, it also has much to offer for experienced programmers and researchers.' - from the VPython site.

I had come across VPython quite a few years ago, and tried it out a bit at the time. I saw it again today via a chain of links, and was interested to see that it has been updated for recent Python versions. I downloaded and installed the VPython version for Python 2.7.3 and tried out the bouncing ball VPython example. It worked fine.

A couple of interesting points about VPython:

- it has what seems to be a modified version of the Python GUI shell, IDLE, called VIDLE, that works like IDLE, and when you enter and run a VPython program, it displays the 3D graphics output in one of the VIDLE windows. I entered and ran the bouncing ball example using VIDLE.

- going by the bouncing ball example, VPython seems to use some form of partially declarative, rather than procedural code, for parts of what it does, since the example does not actually have any code to update the graphics on the screen - it just 'has computations to update the position of the ball and check whether it hits the floor. The 3D animation is a side effect of these computations.'

Update:

The latest version of VPython has been modified to use wxPython:

https://github.com/BruceSherwood/vpython-wx#readme

- Vasudev Ram - Dancing Bison Enterprises



Monday, October 29, 2012

Dabo, a Python/wxPython 3-tier desktop application framework


By Vasudev Ram

Dabo is 3-tier desktop application framework written in Python and wxPython (the Python binding to the cross-platform wxWidgets GUI toolkit written in C++). Both wxPython and wxWidgets are widely used in the industry.

I had come across Dabo some years ago. It looked interesting. Since it is based on wxPython which in turn is based on wxWidgets, which is cross-platform, Dabo is also cross-platform, subject, of course, to the limitations of the underlying tools it is built on.

The main developers of Dabo had a long background in desktop database application development using Visual Foxpro (Wikipedia entry), which works only on Windows. Since some of their customers needed apps on other platforms, they developed Dabo to meet that need.

I had worked on Visual Foxpro many years ago for a medium-sized commercial project, and it was a reasonably powerful database app development tool at the time, though it was slow in performance; it was the first version, IIRC.

The GUI tools shown in my article for Packt Publishing about using xtopdf to create PDF output from various kinds of data, were written using wxPython.

Interesting Stack Overflow post about Dabo in which one of the main developers, participates. Dabo was presented at 3 US PyCons.

- Vasudev Ram - Dancing Bison Enterprises

Saturday, October 6, 2012

Pallavi, extensible plugin-based text editor written in Python and wxPython

By Vasudev Ram


Pallavi, extensible plugin-based text editor written in Python and wxPython.

- Vasudev Ram - Dancing Bison Enterprises


Sunday, July 15, 2012

Google Drive and Dropbox desktop clients use wxPython

See the wxWidgets page for news about that:

http://wxwidgets.org

wxPython is the Python binding of the wxWidgets  cross-platform C++ GUI toolkit.

wxPython is fairly easy to use at least for simple apps.