Nice IDE with GUI designer for wxPython or Tkinter
Solution 1
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.
Solution 2
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.
Solution 3
Boa Constructor has a WxPython GUI builder.
Solution 4
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
Solution 5
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.
Alix Axel
If you need to, you can contact me at: alix [dot] axel [at] gmail [dot] com. I'm #SOreadytohelp Some of my GitHub repositories: phunction, a minimalistic PHP HMVC Framework. halBox, bash script to bootstrap Debian/Ubuntu servers. ArrestDB, RESTful API for SQLite, MySQL and PostgreSQL databases. genex.js, Genex module for Node.js. If you know how to work with regexes, have a look at http://namegrep.com/. ;)
Updated on July 09, 2022Comments
-
Alix Axel almost 2 years
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.
-
Montre almost 15 years+1 Qt Designer is the program that made me hate UI designers less. Also, the PyQt bindings seem slightly more Pythonic, the wx ones seem to have bits of C++ sticking out too much. (For instance the integer event/action IDs.) Another thing is that using the generated code and resource files loaded at runtime is mostly analogous. It doesn't hurt that the generated code is very neat and pretty much what you'd write yourself either.
-
Stefan almost 15 yearsElegance of hand-written GUI???????
-
Alix Axel almost 15 yearsDoes PyQt support native look and feel to Win/Mac/Linux?
-
Stefan almost 15 years@ eyze: Partially. On Mac it uses the Carbon elements (they are porting it to Cocoa...) on Win they are switchting from custom elements (native look&feel) to true native widgets. On linux they paint custom elements, but the appearance can be changed for all Qt applications on a system. Another advantage of PyQt is its library, it's much more than only a GUI framework.
-
Toni Ruža almost 15 yearsWell, if one does it right... ;)
-
Montre almost 15 years@gs: Arguably the library replicates a lot of what other Python libraries do sometimes better. @eyze: doc.trolltech.com/4.4/winsystem.html is a good starting point to find about native integration and deployment.
-
Nick over 14 yearsBoa constructor is an excellent piece of work, being like Delphi, but it relies on parsing Python auto-generated source code to keep track of what you designed. If you upgrade wxPython you'll have to hand edit your auto-generated code to make it work again (as various flags get added or things renamed between versions). This can been a real pain.
-
mahendra rajeshirke over 14 yearsVisualWX looks cool, but is it still active? The web site shows an alpha version from April 2007, and there's only 5 messages in the forum over the last six months.
-
Brandon over 14 yearsI've used it to build configuration dialogs for a game I wrote, and it worked well for that. If you want the bleeding edge stuff from new wxWindows versions, then it probably won't serve your purposes. But it worked well for me for the things I tried, it's free, and the current version seems stable (unlike Boa Constructor, for instance). My advice is to simply try it and see what you think.
-
rectangletangle almost 13 yearsIf GUI code is done properly it's as elegant as any other code.
-
Russell Smith over 11 yearsHow do you define "large application development", and why do you think tkinter is unsuitable? While I've never used it with a million+ line application, I think it scales about as well as wxPython.
-
Iancovici over 10 yearsStill haven't figured out how to add python interperter to eclipse, that installation is def not idiot-proof. It got me!
-
Jacob Wang over 10 yearsI don't use python interpreter that much so I can't help you there :P
-
Iancovici over 10 yearsjust realized you mentioned wxGlade, +1 for simple installation and friendly environment =)