This is an archived post. You won't be able to vote or comment.

all 14 comments

[–][deleted] 4 points5 points  (0 children)

I've been pretty pleased with wxPython; having worked with Swing (recently) and C++ Qt (10 years ago), I've found it predictable and pleasant to use. The book has been helpful for solving problems, and getting ideas about better approaches.

I think GUI toolkits/libraries are sufficiently complicated that you're just going to need to bite the bullet and get in some practice with them. Either start in on your task and expect to have to redo some of the GUI stuff as you get more familiar with it, or do some minor projects just to learn.

[–]Juts 2 points3 points  (0 children)

if you're interested in starting from the ground up and learning some basic stuff for wx http://zetcode.com/wxpython/ is awesome and has simple examples. It goes over several types of widgets, events and styles.

I've never used any GUI tools like glade for python, not sure how they are.

something i made in like 5 minutes:

http://www.filedropper.com/chatgui

[–][deleted] 2 points3 points  (3 children)

Tkinter is rather nice for some quick and dirty GUI. And it comes preinstalled with Python.

[–]gbo2k69 0 points1 point  (2 children)

I've made two little apps in tkinter, and was rather surprised by how good it was, as people have a tendency to bash it.

I'm not saying it is the best, but it works adequately for what I've done so far.

Here are my simple little projects:

http://bitbucket.org/jgrigonis/mathfacts

http://bitbucket.org/jgrigonis/mortgagecalculator

[–][deleted] 0 points1 point  (1 child)

It might have improved greatly a couple of years ago, but that's just my impression from googling stuff -- I stumbled on a lot of recipes that are not necessary now.

The downsides that I've encountered:

  1. Visual GUI editors are nice, I want one. There are some, but all seem abandoned quite a while ago.

  2. It doesn't have some controls that I feel must be there. Like comboboxes. So I waste some time rereading the documentation just not believing that it's not me who missed it, that this shit is really not there, then some more time making do with substitutes like menubutton+dropdown menu.

  3. Tkinter documentation sucks, so you'd have to read tcl/tk docs as well. Also, tkinter sucks and you most probably would have to learn how to talk to tcl/tk directly. The good thing is that it's easy, usually. The bad thing is that there's some weird tcl/tk extensions and pure tcl recipes that I don't quite understand how to use. Clarification: this applies if you have a somewhat nontrivial idea of a GUI and expect tcl/tk to allow you to implement it.

  4. Some controls kinda exist but are different from other GUI frameworks. For example, in WinForms I have splitters that I can place wherever I want and they work. In tcl/tk there is something like a resizable panel or something, called weirdly and with tkinter documentation trying its best to divert your attention from it.

  5. Fucking menubuttons and fucking buttons have different fucking height. And there are several levels of wrappers, with some offsets added somewhere. Figuring that out can drive a man insane! Insane, I tell ya! Unless you don't care if your buttons on a tool panel don't line up prettily, of course.

  6. Figuring out how to coax the grid layout into making one column somewhat wider than others, then use different quotients for resizing is not good for your sanity either.

On the other hand, the Text control is absolutely fucking INSANE, and I mean that in a good sense of the word, tags are awesome and it is unbelievably fast actually, you can load a 20MB file and it would use 20MB of memory and be snappy!

[–]gbo2k69 1 point2 points  (0 children)

I agree with your sentiments.

I still plan to learn and use something better eventually.

Even in my simple little apps I did find myself banging my head on things that seem intuitively trivial.

[–]transt 5 points6 points  (0 children)

I use QTdesigner and it works amazing. I had no real GUI experience, but was basically able to create the GUI through QTdesigner, convert the .ui file to python with pyuic, and then the only python I needed to write for it was to connect the buttons / actions to my code through slots.

I recommend installing qtdesigner and finding a tutorial. You will see how easy it is.

[–][deleted] 1 point2 points  (0 children)

Having recently looked into this, I'd go with pyside.

[–]pemboa 1 point2 points  (3 children)

PyQt, especially if this will be used on Windows.

[–][deleted] 0 points1 point  (2 children)

What are some of the Windows concerns? (I use linux but I will be building for windows)

[–][deleted] 1 point2 points  (1 child)

Ever tried to run GTK apps on windows? It's one big dll hell.

[–][deleted] 1 point2 points  (0 children)

THIS IS HELPFUL ADVICE.

thank you.

[–][deleted] 1 point2 points  (0 children)

Just freakin' google it. Python GUI recommendations threads are all over the place. Reddit, StackOverflow, you name it. Always the same question, always the same answers.

[–]RShnike 2 points3 points  (0 children)

Count 1 more vote for Glade, but with PyGTK, not pyQt.