Best GUI for Python?

I started learning Python a few time ago as an extension of Blender, and now i would like to try to program some small pieces of software.
The things i’ve read about Python GUI’s left me even more lost.

Can you advise me about a good windows GUI?
What do you think about wxPython?

Thank you very much!!

I’ve created a Blender-Python GUI creator that runs under windows. It’s a very simple drag-and-drop interface that gives you a good amount of customizability, and it generates all the code for you.

http://oregonstate.edu/~dennisa/Blender/BPG/

I know your GUI maker, it’s really cool!!!
But i want to create GUI’s for windows (and possible linux) software, cause in Blender i already have your GUI Creator!! :wink:

Mainly there are three options worth considering. It depends on what you are making. For not so complicated GUI’s I would recommend Tkinter as it ships with Python out of the box. If you develop serious applications, which will be distributed maybe freezed or used by a lot of people, wxPython is the solution. I don’t think it is harder to learn than tkinter, especially with a tool like wxGlade, which ships with SPE (http://spe.pycs.net) If your application is more flash like than choose for pygame.
Good luck,
Stani

Wow, RipSting! That was fun! Look at the silly GUI I made (run fullscreen):


##########################################################
#GUI Created using RipSting's Blender-Python GUI designer#
#Download at Http://oregonstate.edu/~dennisa/Blender/BPG/#
##########################################################

import Blender
from Blender.BGL import *
from Blender.Draw import *
from Blender.Noise import *

Slider1 = Create(3.141)
Textbox1 = Create('Text Box')
Toggle1 = Create(0)
Menu1 = Create(1)
Number1 = Create(0)

def draw():
	global Slider1, Textbox1, Toggle1, Menu1, Number1, Button1

	glClearColor(0.753, 0.753, 0.753, 0.0)
	glClear(GL_COLOR_BUFFER_BIT)


	glColor3f(1.000, 0.000, 0.000)
	glRasterPos2i(16, 520)
	Text('R2Bl3nd\'s Do-Nothing GUI!')

	Button('Do-Nothing Button', 1, 16, 480, 471, 23, 'Do not look at this Tool Tip! Read what the button says!')

	Textbox1 = String('', 2, 16, 312, 463, 31, Textbox1.val, 512, 'Write whatever you want.')

	Toggle1 = Toggle('Toggle Nothing!', 3, 16, 344, 471, 39, Toggle1.val, 'Toggles nothing.')

	Menu1 = Menu('Menu%t|First Item %x1|Second Item %x2|Third Item %x3', 4, 16, 408, 159, 23, Menu1.val, 'This menu does nothing!')

	Number1 = Number('', 5, 16, 432, 31, 47, Number1.val, 0, 100, 'This does nothing!')

	Slider1 = Slider('Slider', 6, 16, 384, 471, 23, Slider1.val, 0, 100, 0, 'This slider has pi set on it. Change it and there is a 50-50 chance that Cyberspace will blow up.')

def event(evt, val):
	if (evt== QKEY and not val): Exit()
def bevent(evt):
	if evt == 3: #Toggle1
		InsertCodeHere=1
	elif evt == 4: #Menu1
		if Menu1.val == 1: #First Item
			InsertCodeHere = 1
		elif Menu1.val == 2: #Second Item
			InsertCodeHere = 1
		elif Menu1.val == 3: #Third Item
			InsertCodeHere = 1

	elif evt == 1: #Button1
		InsertCodeHere = 1


	Blender.Redraw()

Register(draw, event, bevent)

Search for my BPyGui, it’s a 99% pure Blender.BGL GUI that supports windowing. It has a full-working text object, a button type and a vertical scroll bar. It has basic color themeing support and transparency. And it works pretty well, too. Just need to add a horizontal scroll bar. Oh, and I also have an Image element, but that requires the Python Imaging Library, which loads images rather slowly.

joeedh.

Thank you all!

I think i’ll try SPE (aldow it’s a little intimidating to see so many options in from layout).