r/Python • • Oct 27 '14

Python beginner: why there is no easy gui builder in a language that is so easy to learn?

Well i come from visual studio and have some experience in vb.net. I am learning python cause i want to make applications for linux as a hobby. So i really wonder in all those years that python grew bigger and bigger and more suitable for beginners how come there is no easy gui builder like the visual studio one?

0 Upvotes

15 comments sorted by

5

u/jvnatter Oct 27 '14

Which ones did you try? I like Qt Designer myself since Qt is my favourite framework for GUI applications. I'd guess there are solutions for GTK, wxWidgets and TkInter as well. What are you looking for, specifically? If you're a beginner you'll find /r/learnpython useful to get help and recommendations.

1

u/midnightGR Oct 27 '14

Well i am looking something similar to visual studio. Make the gui with the mouse and then write the code. With Tkinter you have to write code to make the gui. I tried qt but i find it a little bit difficult for a beginner. I mean even livecode has an excellent easy gui designer. Why not python?

3

u/tdammers Oct 27 '14

Lots of reasons, but the most important one is probably that in the industry, Python's place is in three areas: server-side web programming, number crunching, and systems programming (i.e., scripting stuff, mostly for server automation and such). I don't know of any commercial Python desktop applications; most stuff is, by virtue of being old and established, C and C++, .NET for newer stuff (and probably some Objective C on OS X).

And then there's the resource economics thing: implementing a GUI library that can read GUI definitions from some sort of structured textual file format (say, XML or YAML or some such) is hard enough, but writing a GUI builder to produce such files is a massive task. Meanwhile, the gains are fairly small, at least for a professional development team, and the colossal effort for writing and maintaining the builder happens on top of stuff you have to do anyway. So for most project teams, open-source and proprietary alike, it's just not worth the man-hours, and they opt to make the actual library code better instead. Those who do produce GUI builders have strong commercial interests in drawing more developers in, or being more comfortable for beginning programmers as well as mediocre professional developers - for example, Microsoft has pretty strong reasons to push for .NET adoption, and so Visual Studio does come with GUI builders, simply because this provides Microsoft with lots of valuable leverage in the developer population.

2

u/midnightGR Oct 27 '14

This absolutely answers my question. Thank you.

2

u/metaperl Oct 27 '14

PythonCard is very good. GUI Builder in WebBot is also very good.

1

u/midnightGR Oct 27 '14

I tried pythoncard in the past. But i read that its a dead project.

2

u/Asdayasman Oct 27 '14

wxFormBuilder is actually amazing.

2

u/PythonThermos Oct 28 '14

There are. People have already named a few. I'll add Boa Constructor, which I love but which is stuck in time at Python 2.6, sadly, and so few will use it at this point. It allows you to design your GUI by dragging widgets as you are hoping. I wish Boa had the same kind of support team that Matplotlib had--it would be astounding (and it is already given that everything was done by one guy so far).

2

u/ohaz Oct 30 '14

Kivy has a GUI Designer that is WIP: https://github.com/kivy/kivy-designer

3

u/bryancole Oct 27 '14

GUI-Builders encourage properly poor GUI design.

Try this instead: http://nucleic.github.io/enaml/docs/

If you must use a GUI-Builder, try Qt Designer. It's still a rubbish GUI builder, but at least Qt is a good platform. Note, QtCreator is not the same thing. With QtCreator, the Qt developers made it better by making it worse. amazing.

1

u/alcalde Feb 03 '15

Why do you believe a visual design tool leads to poor GUI design?

-1

u/chemiey Oct 27 '14

Eclipse has an python extension, check it out! :

1

u/midnightGR Oct 27 '14

Well i am looking for a good/easy gui designer. I know that there are great editors to program in python.

2

u/chemiey Oct 27 '14

Usually they are developed as templates. Not exactly like Jframe in WindowBuilder for Eclipse but the general message and option pane are available as templates: You might look here: https://wiki.python.org/moin/GuiProgramming

Generally it all depends on what you want to do. I've read about Kivy for interactive programming and implementation of touch.

2

u/chemiey Oct 27 '14

Check out the python docs: https://docs.python.org/2/faq/gui.html It is hard defining 'easy' in your headline. Depends on how lazy or disciplined you are basically. Just read about those that are present, then put yourself into the GUI you can identify your needs to. That was my proceeding for choice of language back in the days. Remember, Rome wasn't build in a day.