473,597 Members | 2,375 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How is GUI programming in Python?

I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.

Next, what would you say is the best framework I should look into?
I'm curious to hear opinions on that.

Chris Stewart
cs*********@gma il.com

Apr 10 '08 #1
46 2094
Chris Stewart <cs*********@gm ail.comwrites:
I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.
...
Next, what would you say is the best framework I should look into?
If by "best" you mean "easiest", that is probably tkinter, which
comes with python. It is somewhat rudimentary and the widgets that
come with it don't look so great. But if you just want to put up
GUI's with basic functionality and not much glitz, it is ok for most
such purposes.
out how to use
Apr 10 '08 #2
On Apr 9, 8:54 pm, Chris Stewart <cstewart...@gm ail.comwrote:
I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.
Since it's Python, it will be a lot less painless than anything
else. :)
>
Next, what would you say is the best framework I should look into?
I'm curious to hear opinions on that.
Tkinter is the easiest for little apps, but when I'm doing anything
for real, I use PyQt.
>
Chris Stewart
cstewart...@gma il.com
Apr 10 '08 #3
On Apr 10, 12:35 pm, Benjamin <musiccomposit. ..@gmail.comwro te:
On Apr 9, 8:54 pm, Chris Stewart <cstewart...@gm ail.comwrote:I' ve always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.

Since it's Python, it will be a lot less painless than anything
else. :)
Next, what would you say is the best framework I should look into?
I'm curious to hear opinions on that.

Tkinter is the easiest for little apps, but when I'm doing anything
for real, I use PyQt.
Chris Stewart
cstewart...@gma il.com
Since the OP has Swing programming experience, what about Jython
(http://www.jython.org/Project/index.html)?

"Jython is an implementation of the high-level, dynamic, object-
oriented language Python written in 100% Pure Java, and seamlessly
integrated with the Java platform. It thus allows you to run Python on
any Java platform."

--
Kam-Hung Soh <a href="http://kamhungsoh.com/blog">Software Salariman</
a>
Apr 10 '08 #4
CM
On Apr 9, 9:54 pm, Chris Stewart <cstewart...@gm ail.comwrote:
I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.

Next, what would you say is the best framework I should look into?
I'm curious to hear opinions on that.

Chris Stewart
cstewart...@gma il.com
I've enjoyed using wxPython. Mature, active, native controls, lots o'
widgets, killer demo, great community, cross platform (with some
tweaking sometimes).
Apr 10 '08 #5
On 2008-04-10, Chris Stewart <cs*********@gm ail.comwrote:
I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be?
With wxpython and pyqt, it can be relatively painless. You can often just
copy your code directly from one OS to the other and run it, and py2exe
makes it easy to distribute python apps to windows users. I haven't tried
packaging on OS X (with py2app?).
I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.
Yes, the broad principles (event driven, single-threaded event loop) are
pretty much the same.

Note, if you really like Swing, you can use it from Jython. Your app would
install and look like any other Java app to users (Jython is just another
jar in your distribution), for good or ill.
Next, what would you say is the best framework I should look into?
I'm curious to hear opinions on that.
We use wxPython at work because of the more liberal license. It's very
capable and works well for us.

However, for my own projects, I've switched to pyqt, which offers more
complete application help (e.g. things like Actions) and uses MVC from the
ground up rather than as an afterthought. I also find the pyqt API cleaner
and more consistent; some aspects of wxpython still seem clunky to me. And
the auto-completion solution offered on the wxPython wiki doesn't work on
Mac, which pretty much killed it for my project.

Dave Cook
Apr 10 '08 #6
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Paul Rubin wrote:
Chris Stewart <cs*********@gm ail.comwrites:
>I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.
...
Next, what would you say is the best framework I should look into?

If by "best" you mean "easiest", that is probably tkinter, which
comes with python. It is somewhat rudimentary and the widgets that
come with it don't look so great. But if you just want to put up
GUI's with basic functionality and not much glitz, it is ok for most
such purposes.
out how to use
I don't quite agree with you on this. Tkinter may be easy because it is
available by standard in Python, but that's about it in my opinion. The
API, look and performance hit is horrible. You're much better of with PyQt4
which makes the job really simple.

MFB
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFH/kjhDpaqHmOKFdQR Aj+kAJ0d3aHqpv/mh7kSqtDqUFXtJs xi1gCfU5UP
2Ygw9ttRIYX+ioM yBVUNsVo=
=stR5
-----END PGP SIGNATURE-----
Apr 10 '08 #7
On Apr 10, 12:05 pm, Michel Bouwmans <mfb.chikaz...@ gmail.comwrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Paul Rubin wrote:
Chris Stewart <cstewart...@gm ail.comwrites:
I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.
...
Next, what would you say is the best framework I should look into?
If by "best" you mean "easiest", that is probably tkinter, which
comes with python. It is somewhat rudimentary and the widgets that
come with it don't look so great. But if you just want to put up
GUI's with basic functionality and not much glitz, it is ok for most
such purposes.
out how to use

I don't quite agree with you on this. Tkinter may be easy because it is
available by standard in Python, but that's about it in my opinion. The
API, look and performance hit is horrible. You're much better of with PyQt4
which makes the job really simple.

MFB
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFH/kjhDpaqHmOKFdQR Aj+kAJ0d3aHqpv/mh7kSqtDqUFXtJs xi1gCfU5UP
2Ygw9ttRIYX+ioM yBVUNsVo=
=stR5
-----END PGP SIGNATURE-----
I see a lot of people recommend using pyQt, but they never mention the
controversy that surrounds its licensing. There have been many posts
on the subject already, but if the OP ever decides to sell anything
they create, I've heard that QT's licensing is kind of squirrelly.
Maybe this has been straightened out?

I looked at the website and found it fairly confusing. And don't you
need to download QT itself?

Mike
Apr 10 '08 #8
Chris Stewart wrote:
I've always had an interest in Python and would like to dabble in
it further. I've worked on a few very small command line programs
but nothing of any complexity. I'd like to build a really simple
GUI app that will work across Mac, Windows, and Linux. How
painful is that going to be?
I've built and am maintaining a not-so-simple-anymore cross platform
GUI application using wxPython (running in GNU/Linux (GTK+) and
Windows (XP/Vista)). It integrates well since wxPython uses native
widgets. The only problems I face are minor looks problems with
some widgets, e. g. tooltips with line breaks or list controls with
custom font. Custom widgets work very well.

Windows fonts BTW are a real pain since they have almost no unicode
characters, compared to today's GNU/Linux distributions.

Regards,
Björn

--
BOFH excuse #383:

Your processor has taken a ride to Heaven's Gate on the UFO behind
Hale-Bopp's comet.

Apr 10 '08 #9
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mike Driscoll wrote:
On Apr 10, 12:05 pm, Michel Bouwmans <mfb.chikaz...@ gmail.comwrote:
>-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Paul Rubin wrote:
Chris Stewart <cstewart...@gm ail.comwrites:
I've always had an interest in Python and would like to dabble in it
further. I've worked on a few very small command line programs but
nothing of any complexity. I'd like to build a really simple GUI app
that will work across Mac, Windows, and Linux. How painful is that
going to be? I used to be really familiar with Java Swing a few years
ago. I imagine it will be similar.
...
Next, what would you say is the best framework I should look into?
If by "best" you mean "easiest", that is probably tkinter, which
comes with python. It is somewhat rudimentary and the widgets that
come with it don't look so great. But if you just want to put up
GUI's with basic functionality and not much glitz, it is ok for most
such purposes.
out how to use

I don't quite agree with you on this. Tkinter may be easy because it is
available by standard in Python, but that's about it in my opinion. The
API, look and performance hit is horrible. You're much better of with
PyQt4 which makes the job really simple.

MFB
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFH/kjhDpaqHmOKFdQR Aj+kAJ0d3aHqpv/mh7kSqtDqUFXtJs xi1gCfU5UP
2Ygw9ttRIYX+io MyBVUNsVo=
=stR5
-----END PGP SIGNATURE-----

I see a lot of people recommend using pyQt, but they never mention the
controversy that surrounds its licensing. There have been many posts
on the subject already, but if the OP ever decides to sell anything
they create, I've heard that QT's licensing is kind of squirrelly.
Maybe this has been straightened out?

I looked at the website and found it fairly confusing. And don't you
need to download QT itself?

Mike
Yeah, the licensing of Qt is either be open-source (under one of the
Qt-exception licenses licenses so no exclusivity for the GPL anymore) or
pay for the commercial version. So yes, if you would like to sell it as
closed-source software you will need to buy the commercial version of Qt
and PyQt. In other words: you will have to pay twice. Don't forget that you
can also sell open-source software, so you don't have to pay. ;)

MFB
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQFH/mMBDpaqHmOKFdQR AiAkAJ0XoysACvc axLWwvYauFlgEEa GLVwCfdz7g
XMUDfEPLX6RfLV2 5viLB9aA=
=d2ms
-----END PGP SIGNATURE-----
Apr 10 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

33
3956
by: Joe Cheng | last post by:
I'm curious about something... many Artima.com members who have a Java background and learned Python have come to the conclusion that Java and Python are highly complimentary languages. They would never consider filling the place Java has in their toolbox with Python, but recognize there are many tasks where it really pays to add Python to the mix. I want to ask you hard-core c.l.p Pythonistas: Do you use Python for everything? (and...
2
8875
by: mir nazim | last post by:
i m currently using PHP with Apache (a.k.a 'mod_php') for my web development work. i came to know that python can also be used to do web programming using 'mod_python' for Apache. i wanted to know the difference between th two 'mod_php' and 'mod_python' in terms of: 1. speed of execution. 2. productivity 3. maintainance (i know python is most productive and maintainable language in the world, but is it same for web programming with...
4
2418
by: Mark | last post by:
Hello. I am new to programming and Python and was wondering if someone could help get me started. I picked Python to start learning to prgram because of some things I have read about it (easy to learn, object oriented, clear syntax, etc...). Can anyone assist in getting me started with learning to program and Python? Recommended reading material? Online tutorials? Recommended development tools (wxpython, pythonwin, etc...)? I am a...
23
2115
by: herraotic | last post by:
I have been getting ready to learn programming for a long time, installed a GNU/Linux operating system, learnt the ins and outs but I think it is time to pick up a book and learn to now program. I have never actually programmed before only dabbed into XHTML so do take it in mind that I need a book that could slowly progress me into the fundamentals of programming. I chose Python as my first programming language from hearing the praise...
38
2659
by: ifti_crazy | last post by:
I am VB6 programmer and wants to start new programming language but i am unable to deciced. i have read about Python, Ruby and Visual C++. but i want to go through with GUI based programming language like VB.net so will you please guide me which GUI based language has worth with complete OOPS Characteristics will wait for the answer
3
1517
by: miya | last post by:
On Apr 26, 4:36 pm, bvidinli <bvidi...@gmail.comwrote: Django is the way to go for web development. http://www.djangoproject.com/ cya -- Nicolás Miyasato ( miya )
53
5201
by: Vicent Giner | last post by:
Hello. I am new to Python. It seems a very interesting language to me. Its simplicity is very attractive. However, it is usually said that Python is not a compiled but interpreted programming language —I mean, it is not like C, in that sense. I am working on my PhD Thesis, which is about Operations Research,
6
4876
by: John Ladasky | last post by:
Hi folks, I've played around with neural nets for a while. I wrote my own slow, pure-Python NN package. I knew that there were Python NN packages out there -- but I couldn't really understand their features and documentation at first, not without some hands-on experience. I haven't yet solved any interesting problems with NN, but I learned a lot about both NN and about Python along the way. One of the unpleasant things I learned...
3
1286
by: eliben | last post by:
Biggest issue I have with Python is screen input and output. I am trying This is hardly an issue with Python. You'll run into it with all languages. You think wxPython is hard to master ? You should try writing GUIs with C and Motif :-) wxWidgets is, IMHO, one of the best GUI toolkits, and its Python binding is wonderful. Get yourself the book "wxPython in action" and you'll write pretty and functional GUIs in no time. I'm not sure how...
8
3261
by: Fett | last post by:
I am trying to find a wrapper to do linear programming within python. I am using an ubuntu machine and I have apt-get'd lp_solve, which works just fine. If someone knows of a wrapper that will work with that that'd be great. I also heard that scipy has a wrapper, however, I can't find any documentation on it, nor can I seem to find it with dir(). If anyone knows where there is good documentation on this I would love to use that (the...
0
7959
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
7883
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8379
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8021
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
6677
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5421
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
3876
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
3917
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1226
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.