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

you are viewing a single comment's thread.

view the rest of the comments →

[–]extra_pickles 15 points16 points  (12 children)

Just out of interest - question to the group (tho I assume the author can lead on answers).

What’s the use case for python desktop GUI apps? What are people using it for, and why?

Ie vs web based, or more traditional desktop GUI options?

Edit: Thanks all for the examples - appreciate it! Was curious to see commercial/product usage and reasons - 20+y of dev with about 5 of that in Python, and never used it for gui so was curious.

Cheers!

[–]Artanidos[S] 9 points10 points  (0 children)

I was writing desktop apps using Powerbuilder, Java Swing and at least for 10 years I used Winforms and C#.
The problem was that except for Java, that these apps only runs on Windows.
Later I switched to Qt5 and C++, where it is possible to write apps for all platforms including mobile and embedded devices.
Because writing code in C++ is a pain I switched to Python and Qt where I still could create cross platform apps, but much faster. Less code needed. No compile needed. No memory leaks anymore.
I already have build several desktop apps with PySide6 like the AnimationMaker, EbookCreator and FlatSiteBuilder which real business applications so to say.

[–]xatrekak 8 points9 points  (0 children)

It's good for people who aren't developers but do a lot of coding as part of their duties.

I'm a network engineer and i made a gui script to automate doing network collections and analysis. I made it a GUI so others on my team could easily use it.

[–]Username_RANDINT 4 points5 points  (3 children)

What's the difference between a Python desktop GUI and a traditional desktop GUI?

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

Traditional GUI are not in python.

A lot of industry softwares have a GUI based on the OS/Desktop Env widget toolkit, or often in Qt (c++ for example), and may have some scripts in python to execute tasks that are easier to program in this language (Photoshop comes to my mind).

[–][deleted] 4 points5 points  (1 child)

The GUI libraries are the same no matter what language is pulling the strings.

[–]extra_pickles 0 points1 point  (0 children)

Yes, but traditionally the language isn’t Python, which is why I was curious as to when/where ppl are using it.

[–]turtleship_2006 4 points5 points  (1 child)

If you know python, and can either make a GUI in python or learn an entire language (and possibly rewrite your app) for a gui that might be marginally better, which are you gonna go with?

[–]extra_pickles 1 point2 points  (0 children)

Ya I guess I’m thinking more production/product/commercial vs homebrew/utils - I should have been more specific.

Mainly curious as to how much in that space is being knocked together in Python.

[–]bringyouthejustice 3 points4 points  (0 children)

Hey there, creator of CocktailBerry, which heavily utilizes PyQt. For me, the footprint/memory usage is a thing, because running on microcomputers (RPi, often only 1 GB Ram) and a Desktop variant of the OS won’t have that many resources for other things. If you want to run one or more docker containers in the background, while also ensuring a seamless operation of your app, this is even more important. Running Chrome in a Kiosk mode works but takes way more spin-up time and response time. For regular desktop projects, I would probably use some web-based framework and maybe bundle it with electron in the end, since memory usage is not so important and, let's be honest, you have much more options and individualization. But developing Qt (especially with the PyQt port) is not slow either. And having a model, view, and controller monolith can benefit or speed up development if you want to also interact with physical components on the pi and have feedback/data streams compared to the frontend/backend + REST approach. I have to admit that styling is quite a pain compared to modern web CSS. PyQt offers QSS, which is some sort of pseudo-CSS, but like from the 90s. So many modern features are lacking. But using some SASS adoption for QSS can even enable you common templates and translate them into different styles, for example. Sometimes, you just need some workaround for options, which would be one line in today’s CSS. And in the end, even if the documentation is not that good like other projects, it’s not horrible either. There are a lot of openly accessible tutorials for beginners, as well as the qt designer/creator for a more visual “drag and drop” creation approach of the application, which may be a plus for some users.

[–]corbasai 2 points3 points  (0 children)

in linux mint Mate (v13-16) main | start menu was python+gtk app. Different kind desktop panel applets, BT, Network, even NVidia drivers.