newbie question: should I learn TKinter or skip it and learn more advanced toolkit?

P

Porky Pig Jr

I'm in a process of digging into Python, and one of the problems I'm
having is whether I should spend any time at all learning TKinter or
skip it and start with more advanced staff like wx or QT.

I have no experience with GUI whatsoever, so anything will be a
learning experience for me. The reason I've decided to post this
question is that I see some contradictory information in different
resources.

In 'Programming Python', learning TKinter is recommended -- before you
move to more advanced toolkits. The rationale is (i) it is built-in
and since it is also shared by TCL and Perl, it is well-maintained and
always in sync with the latest version of Python, (ii) it is fairly
simple to learn, small learning curve, easier to grasp some concepts
before moving to more comprehensive production quality toolkit such as
QT.

In some other resources TKinter is critisized as not well integrated
at Python at all, so recommendation is 'not to waste your time and
start learning GUI with either wx or QT'.

My intent is *not* to become professional GUI developer, but simply to
get a handle on it, so if I write some utilities, I can provide some
nice GUI if required. Yet of course, since I'm learning something new,
it would be nice to learn it 'right from the start'.

So: should I spend some time or TKinter or simply skip it and start
learning GUI with something like wx or QT?

(my background: solid C, enough C++ to understand the OOP concepts,
Perl, too much of it to my liking, BTW)

TIA.
 
R

Ryan Paul

I'm in a process of digging into Python, and one of the problems I'm
having is whether I should spend any time at all learning TKinter or
skip it and start with more advanced staff like wx or QT.

I have no experience with GUI whatsoever, so anything will be a
learning experience for me. The reason I've decided to post this
question is that I see some contradictory information in different
resources.

In 'Programming Python', learning TKinter is recommended -- before you
move to more advanced toolkits. The rationale is (i) it is built-in
and since it is also shared by TCL and Perl, it is well-maintained and
always in sync with the latest version of Python, (ii) it is fairly
simple to learn, small learning curve, easier to grasp some concepts
before moving to more comprehensive production quality toolkit such as
QT.

In some other resources TKinter is critisized as not well integrated
at Python at all, so recommendation is 'not to waste your time and
start learning GUI with either wx or QT'.

My intent is *not* to become professional GUI developer, but simply to
get a handle on it, so if I write some utilities, I can provide some
nice GUI if required. Yet of course, since I'm learning something new,
it would be nice to learn it 'right from the start'.

So: should I spend some time or TKinter or simply skip it and start
learning GUI with something like wx or QT?

(my background: solid C, enough C++ to understand the OOP concepts,
Perl, too much of it to my liking, BTW)

TIA.

If you look back a little ways, you will find a thread called 'what I dont
like about wxPython' which you might find worth reading. I, and several
others, comment on a few strengths and weaknesses of TKinter and wxPython.
pyQT and pyGTK are both excellent toolkits, but you may have portability
issues. I have had no probs with pyQT on windows, linux, and OSX, but
keep in mind that there is NO non-commercial distribution of QT for
windows. I'm pretty sure pyGTK doesnt work at all under windows, but I may
be wrong on that. The toolkit you choose to learn/use really should depend
on what it is you want to do. I would actually suggest getting a basic
understanding of all of them, and then choosing the one that is best for
you.

--SegPhault
 
P

Paramjit Oberoi

I'm in a process of digging into Python, and one of the problems I'm
This topic has been beaten to death many, many times; and you are likely
to get responses that are as contradictory as the books you mentioned.
What I recommend is: learn what is *immediately* useful to you.

Choose a small app that you are going to write, and then take a 20-mins
per toolkit tour of Tkinter, wxPython, PyQT, PyGTK---look at code samples,
documentation, hello world tutorials, screenshots---and pick the one that
seems most desirable. If you don't like it, later you can pick another.

My personal recommendation: if you are on linux: PyGTK. If you are on
windows, one of PyGTK/wxPython. PyGTK is supposed to work on windows; I
have no personal experience of it though.

-param
 
F

Fuzzyman

I'm in a process of digging into Python, and one of the problems I'm
having is whether I should spend any time at all learning TKinter or
skip it and start with more advanced staff like wx or QT.

I have no experience with GUI whatsoever, so anything will be a
learning experience for me. The reason I've decided to post this
question is that I see some contradictory information in different
resources.

In 'Programming Python', learning TKinter is recommended -- before you
move to more advanced toolkits. The rationale is (i) it is built-in
and since it is also shared by TCL and Perl, it is well-maintained and
always in sync with the latest version of Python, (ii) it is fairly
simple to learn, small learning curve, easier to grasp some concepts
before moving to more comprehensive production quality toolkit such as
QT.

In some other resources TKinter is critisized as not well integrated
at Python at all, so recommendation is 'not to waste your time and
start learning GUI with either wx or QT'.

My intent is *not* to become professional GUI developer, but simply to
get a handle on it, so if I write some utilities, I can provide some
nice GUI if required. Yet of course, since I'm learning something new,
it would be nice to learn it 'right from the start'.

So: should I spend some time or TKinter or simply skip it and start
learning GUI with something like wx or QT?

(my background: solid C, enough C++ to understand the OOP concepts,
Perl, too much of it to my liking, BTW)

TIA.


I was faced with the same dilemna - and was about to dive nto wx when
my copy of 'Programming Python' arrived through the post. The wx
tutorials I had found were a bit obscure - it's possible there are
good ones out there... I just failed to find them !!

I followed the tutorial on Tkinter in Programming Python - once you've
got over the initial learning curve it's not bad and pretty flexible.

I've not reached the point yet where Tkinter isn't powerful enough for
what I need to do - but then I've only written small apps... nothing
huge.

*I'd* certainly reccommend starting with Tkinter - when you've got the
basics it's very easy to hack together a simple GUI...

You can have a look at Nanagram - a python anagram generator that has
a Tkinter front end... The whole program is about 20k including
comments. (Added to which it's great fun to use - use the link below).

Regards,


Fuzzy

http://www.voidspace.org.uk/atlantibots/pythonutils.html
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top