Nice IDE with GUI designer for wxPython or Tkinter

Question:

I have a little experience developing small command-line applications with Python. I want to move on to developing GUIs with Python. From the available GUI toolkits for Python, the ones I feel the most inclined to are wxPython and Tkinter; but I don’t want to code all of the GUI by myself all of the time.

Are there any good GUI IDEs for any of these toolkits? It doesn’t need to be free or open source.

Asked By: Alix Axel

||

Answers:

I will talk only about WxPython because it’s the only toolkit I have experience with. TkInter is nice to write small programs (then it doesn’t require a GUI Designer), but is not really appropriate for large application development.

  • wxFormBuilder is really good: it generates .XRC files you need to load in your program, and it can generate .py files by subclassing them when you use.

  • DialogBlocks and wxDesigner are two commercial software which can generate Python code directly. I didn’t tested these much because of their price.

  • wxGlade is (I think) not yet mature enough for large programs, but it’s worth a try.

After trying all these, I realized they had all flaws and that nothing is better than just writing the GUI in an editor. The problem is the extended learning curve. But then you will be much more faster and your code will be much more flexible than when using a GUI designer.

Have a look at this list of major applications written with wxPython. You will probably see that none of these use a GUI Designer, there must be a reason for this.

You then understand gs is right when saying that either you switch to PyQt or you write your application by hand. I had a look at Qt Designer in the past and thought this was what I needed. Unfortunately PyQt has some license restrictions.

Answered By: Mapad

I’ve used wxGlade for a few mission-critical apps. If you’re a little weak in wx, it can be rough, but once you get used to it, its a great tool.

Answered By: Alex

This may not answer your question directly, but I chose PyQt because there were no good UI designers for wxPython.

Apparently you either write your GUIs by hand or switch to PyQt.

Because Nokia and Riverbankcomputing couldn’t agree on a LGPL solution, Nokia decided to build its own bindings: PySide.

Answered By: Georg Schölly

I use xrced (comes with wxPython). The GUI is defined in xml files, you have an autogenerated python file that automates some initialization then you subclass those autogenerated classes and do the rest of the initialization by hand. I find that this is a good way to blend the elegance of hand-written GUI code with ease of GUI code generation.

For the code I use WingIDE, it’s helpfull to have a good debuger and good source code completion when dealing with large libraries (or frameworks if you will) like wxPython.

If you want more automation (and so, uglier code) try the latest version of Boa, there are some nice introductory screencasts for it at ShowMeDo.com

Answered By: Toni Ruža

Try VisualWx. I think the GUI designer is very good; however the IDE is fairly rudimentary (no code completion, debugging, etc.). My work pattern is to have VisualWx and a good editor like Komodo Edit/Netbeans/etc. open at the same time and switch between them as needed.

Answered By: Brandon

Boa Constructor has a WxPython GUI builder.

Answered By: Anonymous

Not really a GUI IDE but it leds you define Tkinter GUIs in a JSON file: https://github.com/tmetsch/pytkgen

Answered By: Andre

I use Eclipse with PyDev as my Python IDE (Which is probably not the best solution out there, but it is quite decent)

For GUI developement, I have used wxGlade for a mid-sized project and found it to be quite easy to use one you’ve grasped the concepts of WxPython. The XML generation is very useful for separating actual GUI design from program logic.

All of the these are free.

Answered By: Jacob Wang