Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

GUI (tkinter) popularity and job prospects for

174 views
Skip to first unread message

Lammie Jonson

unread,
Oct 22, 2020, 2:59:21 PM10/22/20
to

I have been a rails developer as well as JS/react.
I had wanted to look at python a bit due to it's popularity.

I looked at tkinter which seems to have quite a few examples out there, but when I searched indeed.com for tkinter and wxpython it appeared that there was hardly any job listings mentioning those. Why is that ? It's a bit of a demotivating factor to get very serious with tk etc. I was going to look at something like tensorflow perhaps, though I am not sure if machine learning is that easy to pickup or not

Rich Shepard

unread,
Oct 22, 2020, 5:06:42 PM10/22/20
to
On Thu, 22 Oct 2020, Lammie Jonson wrote:

> I looked at tkinter which seems to have quite a few examples out there,
> but when I searched indeed.com for tkinter and wxpython it appeared that
> there was hardly any job listings mentioning those. Why is that ? It's a
> bit of a demotivating factor to get very serious with tk etc. I was going
> to look at something like tensorflow perhaps, though I am not sure if
> machine learning is that easy to pickup or not

Lammie,

I'm not a computer professional but I've worked with computers for 40+
years, from main frames to personal ones. I also run a solo practitioner
consultancy after working for others so I know both sides of the job market.

My advice is free so there's no obligation for you to consider it.

You're looking for a job from the wrong end. Let me offer an analogy I use
to describe how you ought to go about your job search. I've often said that
you can teach someone how to use a word processor but that does not make
them a writer. Your rails/JS experiences and your interest in tkinter or
wxpython is focused on tools, not the products produced by those tools.

If you wanted to hire a professional chef how would you respond to someone
who told you they had great knife skills? Your interest is in what they
could do with those skills to prepare outstanding meals for you. After all,
it's the meals you're buying, not how uniform are their diced onions.

An employer will hire those who will benefit the employer's company and
position. The tools used to provide those benefits are less important than
the prospective employee's skill in using them to solve a problem or
increase company profits and prove how great a manager is for hiring you.

Make a list of what you can do and what you've accomplished, not a list of
tools you know. I've no idea what you really want to do but define that in
terms of both your personal satisfaction and what an employer would value.

And keep in mind the three steps in getting the job/career you want:

1. The cover letter's only purpose is to get the recipient to read the
enclosed resume.

2. The resume's only purpose is to get you an interview with an ultimate
decision-maker (not a personnel gate keeper).

3. The interview's purpose is to sell yourself as a benefit to the company
and proof of how clever the interviewer is by hiring you.

Good luck ... and stay well,

Rich

Lammie Jonson

unread,
Oct 22, 2020, 5:20:45 PM10/22/20
to

Thanks,

Yes, I have some sense about how to do job interviews and market myself which is always an ongoing process.

I also just have an interest in different technologies that I may want to investigate as I can get bored with certain things a little at times. If some technology seems a little interesting to me but I don't see that there are a lot of job listings for it however, then I sometimes wonder why that is etc

Tal Einat

unread,
Oct 22, 2020, 5:34:20 PM10/22/20
to
Hi Lammie,

On Thu, Oct 22, 2020 at 10:03 PM Lammie Jonson <jrub...@gmail.com> wrote:

>
> I looked at tkinter which seems to have quite a few examples out there,
> but when I searched indeed.com for tkinter and wxpython it appeared that
> there was hardly any job listings mentioning those. Why is that ?
>

My guess would be that that is because we are after quite a few years of a
world-wide, cross-industry move away from making desktop apps towards
making web apps and mobile apps. To my knowledge, there are very few job
listings looking for mastery of any desktop UI technologies, certainly
relative to web-based UI technologies. (There are exceptions to this, of
course.)

I was going to look at something like tensorflow perhaps, though I am not
> sure if machine learning is that easy to pickup or not
>

"Data science", using machine learning or otherwise, has become very
popular and there are many jobs in most tech hubs for those with relevant
skills. It requires a somewhat different set of skills, such as a solid
working knowledge of statistics. Generally speaking and without knowing
your specific circumstances, I think this would be a much safer bet in
terms of employment options than learning desktop UI techs. It's not for
everyone though; how hard it will be for you is hard to say, it's an
individual thing. It's also a different type of work, so your motivation
and interest in it may not be the same, for better or worse. If you're
interested, there are plenty of learning resources out there; perhaps try
an introductory "data science" course or book and see how it feels to you.

- Tal

Michael Torrie

unread,
Oct 22, 2020, 5:35:56 PM10/22/20
to
On 10/22/20 12:58 PM, Lammie Jonson wrote:
>
> I have been a rails developer as well as JS/react. I had wanted to
> look at python a bit due to it's popularity.
>
> I looked at tkinter which seems to have quite a few examples out
> there, but when I searched indeed.com for tkinter and wxpython it
> appeared that there was hardly any job listings mentioning those. Why
> is that ? It's a bit of a demotivating factor to get very serious
> with tk etc.

I doubt you'll find any jobs connected a particular Python GUI toolkit.
Except maybe at Red Hat. Most likely you'll find Python used in web app
development, back-end server system programming, scripting, etc.

Of course Python can be used with a variety of GUI toolkits including
Tk, wx, GTK+, and Qt, to make desktop applications of course, but it's
not commercially common and I wouldn't ever expect to see that on a job
posting.

> I was going to look at something like tensorflow perhaps, though I am
> not sure if machine learning is that easy to pickup or not

Not sure anything difficult and worthwhile, even if it is popular and in
demand, is something you can just "[easily] pick up." But good luck to
you. If you can find some fun side projects to do with with it while
gaining experience, I'm sure that will look good on a resume.

Paul Rubin

unread,
Oct 22, 2020, 5:52:57 PM10/22/20
to
Michael Torrie <tor...@gmail.com> writes:
> I doubt you'll find any jobs connected a particular Python GUI toolkit.

I had a tkinter-specific consulting gig a few years ago, but yeah, I
think that type of thing happens less and less. The main home for
native GUI apps is mobile these days. There is a Python environment for
Android called Kivy (kivy.org) but it looks pretty complicated and I've
never tried to install or use it.

It would be really nice if there was a way to straightforwardly run
Tkinter applications on Android. You'd install a single .apk and that
would let you run your Tkinter apps and make launchers for them.

Chris Angelico

unread,
Oct 22, 2020, 6:15:45 PM10/22/20
to
On Fri, Oct 23, 2020 at 8:39 AM Michael Torrie <tor...@gmail.com> wrote:
> > I was going to look at something like tensorflow perhaps, though I am
> > not sure if machine learning is that easy to pickup or not
>
> Not sure anything difficult and worthwhile, even if it is popular and in
> demand, is something you can just "[easily] pick up." But good luck to
> you. If you can find some fun side projects to do with with it while
> gaining experience, I'm sure that will look good on a resume.

True, but not everything worthwhile is difficult. If a competent
programmer, knowing 20 distinct programming languages, needs to learn
a 21st for a project, it should be straight-forward to master it in a
short time (at least to the point of being able to muffle through -
doesn't mean s/he would know all the idioms of course). Learning ML is
certainly a big task, but learning some specific subpart of ML would
be doable, and then you learn another subpart, and another and
another, until you're employable.

ChrisA

Terry Reedy

unread,
Oct 22, 2020, 9:19:33 PM10/22/20
to
On 10/22/2020 2:58 PM, Lammie Jonson wrote:

> I looked at tkinter which seems to have quite a few examples out there, but when I searched indeed.com for tkinter and wxpython it appeared that there was hardly any job listings mentioning those. Why is that ?

I think that commercial desktop applications with a python compatible
GUI would likely use QT or a Python binding thereof.


--
Terry Jan Reedy

2QdxY4Rz...@potatochowder.com

unread,
Oct 22, 2020, 9:19:33 PM10/22/20
to
On 2020-10-22 at 12:50:43 -0700,
Rich Shepard <rshe...@appl-ecosys.com> wrote:

> On Thu, 22 Oct 2020, Lammie Jonson wrote:

> > I looked at tkinter which seems to have quite a few examples out
> > there, but when I searched indeed.com for tkinter and wxpython it
> > appeared that there was hardly any job listings mentioning
> > those. Why is that ? It's a bit of a demotivating factor to get very
> > serious with tk etc. I was going to look at something like
> > tensorflow perhaps, though I am not sure if machine learning is that
> > easy to pickup or not

[...]

> You're looking for a job from the wrong end. Let me offer an analogy I
> use to describe how you ought to go about your job search. I've often
> said that you can teach someone how to use a word processor but that
> does not make them a writer. Your rails/JS experiences and your
> interest in tkinter or wxpython is focused on tools, not the products
> produced by those tools.

> If you wanted to hire a professional chef how would you respond to
> someone who told you they had great knife skills? Your interest is in
> what they could do with those skills to prepare outstanding meals for
> you. After all, it's the meals you're buying, not how uniform are
> their diced onions.

> An employer will hire those who will benefit the employer's company
> and position. The tools used to provide those benefits are less
> important than the prospective employee's skill in using them to solve
> a problem or increase company profits and prove how great a manager is
> for hiring you.

> Make a list of what you can do and what you've accomplished, not a
> list of tools you know. I've no idea what you really want to do but
> define that in terms of both your personal satisfaction and what an
> employer would value.

I'll second that. I had a 40+ year career spanning multiple companies
and multiple industries, and putting a tool on your resume may get you
past a gatekeeper, but that's rarely why you actually get hired or paid.

I picked up Python in 1997 to build some proofs-of-concept for some
designs I was working on. I ended up with a tkinter based GUI, but only
because the command line programs came together so quickly. IMO, the
GUI didn't add anything to my design or to the proofs-of-concept. But I
digress.

Pick a few tools, learn them well, and use them to build something
(often, those last two go hand in hand). Build something that interests
you, or something related to an industry or a technology in which you'd
like to work, or something that might be useful to you or to someone
else. Pick a new tool here or there, but only as a means to improve
some other area of knowledge, like building GUIs, or concurrency, or
scientific software, or a different style of programming, or whatever.

Happy hacking.

--
“Whoever undertakes to set himself up as a
judge of Truth and Knowledge is shipwrecked
by the laughter of the gods.” – Albert Einstein
Dan Sommers, http://www.tombstonezero.net/dan

jf...@ms4.hinet.net

unread,
Oct 22, 2020, 10:11:08 PM10/22/20
to
Lammie Jonson於 2020年10月23日星期五 UTC+8上午5時20分45秒寫道:
> Thanks,
>
> Yes, I have some sense about how to do job interviews and market myself which is always an ongoing process.
>
> I also just have an interest in different technologies that I may want to investigate as I can get bored with certain things a little at times. If some technology seems a little interesting to me but I don't see that there are a lot of job listings for it however, then I sometimes wonder why that is etc

A job listing shows the interest of the society, how it connects with your interest?

--Jach

Grant Edwards

unread,
Oct 23, 2020, 11:53:00 AM10/23/20
to
On 2020-10-22, Michael Torrie <tor...@gmail.com> wrote:

> I doubt you'll find any jobs connected a particular Python GUI toolkit.
> Except maybe at Red Hat.

A couple years ago my employer was looking for (and hired) a Python wx
application developer.

> Most likely you'll find Python used in web app development, back-end
> server system programming, scripting, etc.

Where I work, we use it exclusively for command line and GUI
application development. That may not be terribly common, but there
are jobs in actual application development.

> Of course Python can be used with a variety of GUI toolkits including
> Tk, wx, GTK+, and Qt, to make desktop applications of course, but it's
> not commercially common and I wouldn't ever expect to see that on a job
> posting.

Really? Never?

--
Grant


Grant Edwards

unread,
Oct 23, 2020, 11:53:01 AM10/23/20
to
On 2020-10-22, Terry Reedy <tjr...@udel.edu> wrote:
> On 10/22/2020 2:58 PM, Lammie Jonson wrote:
>
>> I looked at tkinter which seems to have quite a few examples out
>> there, but when I searched indeed.com for tkinter and wxpython it
>> appeared that there was hardly any job listings mentioning
>> those. Why is that ?
>
> I think that commercial desktop applications with a python
> compatible GUI would likely use QT or a Python binding thereof.

Agreed. If you want to improve you "hirability" for GUI application
development, I would probably put Qt first. Then gobject or
wx. Tkinter would probably be last.

--
Grant




John Pote

unread,
Oct 23, 2020, 12:55:53 PM10/23/20
to

On 23/10/2020 05:47, Grant Edwards wrote:
>
>> I think that commercial desktop applications with a python
>> compatible GUI would likely use QT or a Python binding thereof.
> Agreed. If you want to improve you "hirability" for GUI application
> development, I would probably put Qt first. Then gobject or
> wx. Tkinter would probably be last.

I've used tkinter and wxPython occasionally in the past for 1 off test
tasks (and interest). What's the advantage of Qt?

John

Christian Gollwitzer

unread,
Oct 23, 2020, 2:28:20 PM10/23/20
to
Am 22.10.20 um 23:52 schrieb Paul Rubin:
> Michael Torrie <tor...@gmail.com> writes:
>> I doubt you'll find any jobs connected a particular Python GUI toolkit.

> It would be really nice if there was a way to straightforwardly run
> Tkinter applications on Android. You'd install a single .apk and that
> would let you run your Tkinter apps and make launchers for them.

It's not unrealistic - there is AndroWish to run Tcl/Tk on Android
including GUI and connection to Android specific services (subcommand
"borg"). Someone in the Python community would need to make the Tkinter
bridge with a native Python for Android.


https://www.androwish.org/home/home

Christian

Grant Edwards

unread,
Oct 23, 2020, 4:08:38 PM10/23/20
to
I think it may look/act more "native" than the others. It has also had
good support for multiple platforms for a long time. For whatever
reason, it seems to the more popular choice for commercially
distributed Python apps.

Getting Tkinter to look and act like a "native" app takes a lot of
effort, and sometimes is just not possible. Distributing Tkinter apps
is a PITA. Even trivial apps tend to turn into large bundles because
you're including all of TCL with them.

--
Grant


Terry Reedy

unread,
Oct 23, 2020, 10:37:10 PM10/23/20
to
On 10/23/2020 12:52 PM, John Pote wrote:
>
> On 23/10/2020 05:47, Grant Edwards wrote:
>>
>>> I think that commercial desktop applications with a python
>>> compatible GUI would likely use QT or a Python binding thereof.
>> Agreed. If you want to improve you "hirability" for GUI application
>> development, I would probably put Qt first.  Then gobject or
>> wx. Tkinter would probably be last.
>
> I've used tkinter and wxPython occasionally in the past for 1 off test
> tasks (and interest). What's the advantage of Qt?

For you usage, perhaps None. Qt is an *application* framework that
includes a GUI module likely bigger than tkinter. Its non-GUI parts
replace things other than tkinter in the stdlib or on pypi.

--
Terry Jan Reedy


Barry Scott

unread,
Oct 25, 2020, 3:26:13 PM10/25/20
to


> On 23 Oct 2020, at 17:52, John Pote <john...@jptechnical.co.uk> wrote:
>
>
> On 23/10/2020 05:47, Grant Edwards wrote:
>>
>>> I think that commercial desktop applications with a python
>>> compatible GUI would likely use QT or a Python binding thereof.
>> Agreed. If you want to improve you "hirability" for GUI application
>> development, I would probably put Qt first. Then gobject or
>> wx. Tkinter would probably be last.

Agreed.

>
> I've used tkinter and wxPython occasionally in the past for 1 off test tasks (and interest). What's the advantage of Qt?

I have not looked at tk for a very long time, cannot comment on it.

I used to use wxPython but ported all my code to PyQt.
They took too long to get to python 3 support.

PyQt has far fewer platform specific behaviours that need working
around than wxPython does (did?).

It should be noted that the developer of PyQt does it as his job, so there is enough
work to keep him well payed.

Barry


>
> John
>
> --
> https://mail.python.org/mailman/listinfo/python-list
>

Paul Rubin

unread,
Oct 25, 2020, 4:14:54 PM10/25/20
to
Barry Scott <ba...@barrys-emacs.org> writes:
> I used to use wxPython but ported all my code to PyQt.
> They took too long to get to python 3 support.

I found byth wxPython/wxWidgets and PyQt/Qt to be a huge pain in the
neck to build from sources, and they looked complicated to program.

I like tkinter. It is easy to program, easy to build, and comes with
some python distros. But, it is not all that flexible, doesn't have
flashy looking widgets, etc. I used it for a factory floor app a while
back. It was great for that, since the widgets had a 1980s industrial
look that looked right for the application. I like that look myself.
But, the typical consumer app these days wants to be slicker.

Edmondo Giovannozzi

unread,
Oct 26, 2020, 12:03:35 PM10/26/20
to
I use PyQt in research application, there is a library pyqtgraph (http://www.pyqtgraph.org/) based on Qt that is very fast, you can zoom and pan even complicated plots, it is much faster than matplotlib.

For me, the graphic makes the difference.

Dietmar Schwertberger

unread,
Oct 26, 2020, 3:10:39 PM10/26/20
to
On 23.10.2020 18:52, John Pote wrote:
> I've used tkinter and wxPython occasionally in the past for 1 off test
> tasks (and interest). What's the advantage of Qt?

Qt does support mobile and touch oriented user interfaces. Also, it does
support GUI programs on microcontrollers now on bare-metal.

Desktop development has long moved out of the focus of the Qt company.
(This shift dates back to the time when Nokia was the owner.)
Just have a look at their start page and you know the focus. Qt company
is living from expensive industry licenses. Providing frees solutions to
the open source community is not the core business.

Qt still supports traditional desktop development in form of Qt Widgets,
but there's pressure to move to QML. This is more comparable to the
HTML/CSS/Javascript approach.
Personally I would not want to go that way for desktop applications. The
traditional single-language approach with API and debugger seems much
more straightforward and time-saving.

For many types of desktop applications I would just recommend wxPython,
together with wxGlade as a GUI builder. This will provide a quick start
and high productivity for many tasks.
That's another point: Qt Designer is recognized as one of the most
advanced GUI builders, but when you actually want to use it with Python
it does not really help you much. Using it is too complicated for the
beginner or casual user and for the advanced user it's easier to avoid
it completely.

Regards

Dietmar

moi

unread,
Oct 27, 2020, 6:57:25 AM10/27/20
to
GUI toolkits are reflecting [*] very well Python
and its ridiculous unicode implementation.

[*] when they work.
0 new messages