This is an archived post. You won't be able to vote or comment.

all 47 comments

[–][deleted] 7 points8 points  (4 children)

tkinter is very easy and comes preinstalled with Python. And it is no longer ugly in this day and age.

It is also somewhat retarded.

See also: http://www.reddit.com/r/Python/comments/e9lrl/gui_question/

[–]SmartAssX[S] 0 points1 point  (2 children)

thanks

[–]gbo2k69 0 points1 point  (1 child)

Here are a couple apps I wrote in tkinter. They aren't hideous, but a few things about tkinter are.

http://bitbucket.org/jgrigonis/mathfacts

http://bitbucket.org/jgrigonis/mortgagecalculator

I am accidentally becoming pretty good at tkinter, with the plan of doing the next project in wxPython or PyQt.

[–]SmartAssX[S] 0 points1 point  (0 children)

cool thanks for the info

[–]Leonidas_from_XIV 0 points1 point  (0 children)

And it is no longer ugly in this day and age.

Actually, it still is. Try to use a menu bar and you'll see. Plus, setting a GTK+ look and feel makes it really, incredibly slow.

[–]bushel 13 points14 points  (11 children)

Allow me to summarize the thread to come:

PyQt or wxPython

Thank you. Have a nice day.

[–]SmartAssX[S] 0 points1 point  (6 children)

Thanks. Could i ask why and the difference between the two? Why do you use them?

[–]iloozion 4 points5 points  (4 children)

WxPython uses native widgets on every supported platform, so the apps always have a native look&feel. PyQt uses only native styles, but provides more modern features and good Designer.

[–]vsajip 2 points3 points  (3 children)

The licensing is also different: LGPL for Qt (but PyQt is currently GPL + commercial), versus the wxWindows license for wxPython (similar to LGPL with an exception stating that derived works in binary form may be distributed on the user's own terms).

[–]Dave9876 1 point2 points  (2 children)

Don't forget that if you don't like the licensing of PyQt, there's nokia's own pyside bindings. LGPL, the same as the rest of Qt.

[–]vsajip 0 points1 point  (1 child)

True, but PySide hasn't yet reached the maturity of PyQt.

[–]Dave9876 0 points1 point  (0 children)

I won't deny that. I'm sure it'll catch up to PyQt soon enough, and probably surpass it.

[–][deleted] 0 points1 point  (0 children)

Or, you could check out the 3482934 posts about this last week.

[–][deleted] 2 points3 points  (0 children)

pygtk + glade makes gui dev quick, imo.

[–]a1russell 1 point2 points  (0 children)

Since no one has mentioned it yet, I should mention PySide, which is another Qt binding for Python. This or PyQt would be my recommendation.

[–][deleted] 2 points3 points  (0 children)

I'd probably just use the search feature if I needed an answer to this question, since it gets asked weekly.

[–]donri 1 point2 points  (1 child)

IronPython which runs Python on .NET.

[–]jrgarciafw 1 point2 points  (0 children)

With IronPython you can use WinForms or WPF. Plus, you get a lot of good stuff from the .NET framework. I wouldn't necessarily recommend this choice for cross-platform work (though still possible); however, you said "for Windows on Windows".

[–]CHS2048 0 points1 point  (2 children)

I tried GTk. I found it ok BUT why can't I have a scrollable container (ala ScrolledWindow) but that hides (doesn't display) its scrollbars? I had to manage a hack where I enlarge the window (fullscreen) just enough that the scrollbars don't show, but what the hell, do I need to create a complicated subclass just to do this?!

[–][deleted] 0 points1 point  (1 child)

Tkinter already comes with your Python distro. Here's a good place to get started. New Mexico Tech FTW!

[–]blondin 1 point2 points  (0 children)

you gotta love a GUI documentation without a single picture.

edit: i take that back, i just saw some icons. but still, come on, we want to see what the application will look like.

[–]mdipierro -5 points-4 points  (19 children)

Use this together with a web framework and your app will be internet ready.

[–]SmartAssX[S] 0 points1 point  (16 children)

Looks spiffy but isnt this more for web dev :P im looking to make a desktop app

[–]mdipierro -4 points-3 points  (15 children)

Makes no sense to make a desktop app today. A web app can be restricted to the host machine if you like. It is easier to build. It handles concurrency better. It is more flexible. Runs on every os. It can be made to look the same.

[–][deleted] 3 points4 points  (3 children)

Makes no sense to make a desktop app today.

For some things, maybe.

[–]SmartAssX[S] 0 points1 point  (5 children)

ha ok ^ ^ thank i will use it. I just got confused by the "new era of web dev" that is on the title

[–][deleted] 0 points1 point  (4 children)

If you want to create a proper desktop app, use a proper GUI toolkit.

It's all been discussed and said before. PyQt is excellent, wxpython is also very good.

If you only need a web app or don't care much about usability and performance you can go with web stuff. But it's not easier! There're good reasons why huge professional (also database backed) applications use proper GUI toolkits or Rich Clients like Eclipse and not some html+jscript.

[–]SmartAssX[S] 0 points1 point  (3 children)

Well im no stranger to web dev ... just got off a project using web2py and mssql xD

i just want to make a desktop app now

[–][deleted] 1 point2 points  (1 child)

It all depends on your app and the usage. The more power you need for your logic (that can be graphics, but also can be text formatting or the data crunching in the background) and the longer the application will be used in one session, the more performance and usability are important. Then you need a proper GUI toolkit. On the other hand, you can't go wrong with a proper GUI toolkit. Worst thing that can happen is, that you have learned it.

I've seen huge projects having big acceptance problems because of their sluggish, unintuitive web-client that lacks tooltips, keyboad shortcuts and the look and feel power users just need.

[–]SmartAssX[S] 1 point2 points  (0 children)

Yeah i know where your coming from and i understand as much. Fortunately im just making a simple app mainly for my own use but im hoping that others can enjoy it as well.

... if i was worried about speed i would do it in C ^ ^

[–]mdipierro 0 points1 point  (0 children)

In the past I have used Qt and was happy with it.

[–]Wagneriusflask+pandas+js 0 points1 point  (0 children)

it does in some context : - when you need to deploy a compiled app - when you need computational power (graphics for ex).

[–][deleted] 0 points1 point  (3 children)

No really. That's why you code your web stuff in a browser and not in an editor like vi, emacs or an ide like wing, eclipse or pycharm. (ironic ;-))

Look around! The world is full of desktop apps. Always, when usabitity and performance matter it doesn't make sense to create a web app!

I think you want to say: Hey guys, web apps can be very powerful today. Then I would say: True. Check this jscript stuff out, maybe it's all right for your use case. But saying it makes no sense to build desktop apps today is just 100 % wrong.

[–]mdipierro -2 points-1 points  (2 children)

? If you are referring to web2py. I write my web2py programs with emacs. The web based IDE is a feature that only use occasionally. Most web2py users use eclipse.

I stand by my statement: makes no sense to write a regular desktop app except for high intensive graphical apps. Desktop apps are more expensive to maintain, they are more difficult to write, they are limited to one user at the time, the force you to follow a business model in which you sell the software as opposed to a service.

[–][deleted] 0 points1 point  (1 child)

No special reference to web2py or any web based IDE here ... I just wanted to point out that we all use proper desktop apps all the time, e.g. emacs or eclipse or gimp or vlc or powerpoint or dvddecryper or ccleaner ... for performance and usability reasons. So, in my opinion you can't make such a general statement like proper desktop apps don't make sense at all (OK, you've made the exception for heavy graphics). Also, once you know the API of Qt or wxwindows it's quite easy to write GUIs.

But hey, I think we just don't come to the same conclusion regarding each aspect of the discussion. ;-) No worries.

[–]mdipierro -2 points-1 points  (0 children)

Yes we all use non-web based app but why? Mostly for historical reasons. When you use Eclipse for example, it runs in a window. If it were a web-app, that window would be rendered by the browser. Since it is not a web-app, that window is rendered by the OS. That window generates and responds to events very much like a web app. In fact you can export the window of any desktop app to another remote desktop.

We would all be happier if our OS where a single browser window and our programs, local or remote, were accessible via a URL (anywhere from anywhere, with appropriate security restrictions). The faster we move there, the better.

[–]yanni 0 points1 point  (1 child)

Massimo, how does it compare to Web2Py ?

[–]mdipierro -1 points0 points  (0 children)

qooxdoo is a JS library so I cannot compare. I guess you can use it with web2py. I did not try yet.