A Simple Python IDE for generating GUIs
Before going any further let me start by saying that this is a complete bastardization. After doing lots of research I've not found an IDE that does the job I need for creating a GUI in python. I've done lots of windows programming I guess I've been spoiled by environments like Delphi and Visual Basic. So what I've done, since I'm very familiar with VB, is create a VB module that you could load in Excel and use the Excel VB Environment to create a form and then generate some python code that mimics the form.
Also I was interested in not having to deal with installing QT, wxWindows or any other third party library. Python comes with a serviceable GUI toolkit in Tkinter. I was not interested in creating apps to ship. I know other toolkits have a reputation for doing better native look and feel across platforms, but Tk's look and feel is good enough for me. I wanted a way to easily create an interface without having to install anything new. I also wanted to have an environment I was comfortable with. I've tried various free alternatives like Boa Constructor and had issues with stability. I've not had these types of issues with VB. I was thinking "why can't I have an environment like VB for generating UI's" and then it just kind of hit me one day. Duh, why don't I just use VB?
The only issue I had when starting this was that I didn't have Visual Basic on my home computer. Most of my hacking at home consists of python, javascript, PHP and a touch of C and C++. But I do have Excel and most of the functions and constructs port over well enough from VB to VBA so I found some articles on extending VB's interface and away I went.
The Files
There is only one. PythonIDE.txt. You can make a copy of this, save it with a .bas extension and then import it into the VBA editor. You can also download a sample Excel workbook. The workbook is set up to add the menu item to create the python script. It is added to the Tools menu. To use the example just open up the workbook, make the sample dialog active in the vb project and then click the Create Tkinter button on the Tools menu.
Notes
There are quite a few caveats with using this. For creating simple GUI's for scripts and simple dialog classes this is very useful. To get this to run inside Excel requires a few settings be correct and there are some issues you should be aware of while using the macro.
Conclusion
As I said up front, this is a real bastardization. That being said, I've used on a couple of projects already. I've found it works very well for putting together a quick interface for a single dialog application. It does set up the dialog as a class so you could use it as a component, but I've not done that yet. I've found the generated file easy to edit and update. I would like to think that is because the code is so easy to follow, but I'm sure a big part of this is because this is more or less code I would write anyway.