Live data from Hacker News

Show HN: Cross-platform desktop applications with PyQT

github.com

231–240 of 293 posts

Re: Show HN: Cross-platform desktop applications with PyQT

#231
post #83
post #53

Earlier quoted context omitted.

Not that most companies would care, as dev cost seems to be all that matters these days, but the upsides are much faster and leaner applications than what you get from Electron.

Can't talk as to rendering and such, but python isn't going to be a performance win vs JS. V8 is faster than cpython by a decent margin for typical tasks on typical data structures. You'll need to dip into clang or whatnot for really hardcore perf either way

You won't be using Python with QML at all, but rather JS - so you still can enjoy the speedy development vs. a traditional Widget app, and you get a far more efficient runtime, too.

http://doc.qt.io/qt-5/qtqml-javascript-expressions.html

Re: Show HN: Cross-platform desktop applications with PyQT

#232

Earlier quoted context omitted.

Have you ever designed an application with Qt Designer or Delphi for that matter? Both are literally drag and drop. You can make a first mock-up of a application in a few minutes. I have developed some larger Qt applications and in each case there are at most a couple dozen of lines with platform-specific code. Qt abstracts away most of the platform differences. For me ‘good looking UIs and UI patterns’ means: well i…

Neither are as good as 99% of the tools available for development with HTML/CSS. Plus, with HTML/CSS, you can work manually on your project, without any special tool besides your browser, and see the effects you have on the layout in real time. Delphi/Qt Designer look way worse than any HTML/CSS/JS GUI builder, too - along with having interfaces equivalent to what GIMP's is to Photoshop.

But what exactly do any HTML/CSS do for me that I could not do with a 17 years old copy of Delphi? And the resulting application will be harder to use, bloated, and much slower than a Delphi one (let alone using something more modern).

I can understand the cross-platform angle, but not ease of development (unless you are limiting yourself to the very, well, limiting subset of interactions and controls that are easy to do in HTML). Nor, for that matter, the quality of the end-product.

Re: Show HN: Cross-platform desktop applications with PyQT

#233
post #17

Earlier quoted context omitted.

How is this an issue? Before Electron and other HTML/CSS-based "native" apps became all the rage (which is fairly recently), native apps were built using Qt, GTK, Cocoa, WPF, WinForms, MFC, etc., and they did just fine. Perhaps we just really don't need these "effects" and just need consistent, simple UIs of the sort that toolkits that paint native widgets can give you. Whenever I install an app that's built using so…

"Bah humbug, the old stuff is good enough for me!" is a shitty answer. Why would you not want a toolkit that makes rich application experiences across multiple platforms easy and standard? I get that performance is a problem with the tooling in its current form (arguably...) but that's not a reason to ignore the problem electron is solving: creating complex UIs using things like WinForms, QT, GTK, Cocoa, etc SUCKS. I…

That is the problem right there, not wanting to learn.

Re: Show HN: Cross-platform desktop applications with PyQT

#234
post #79

Earlier quoted context omitted.

creating complex UIs using things like WinForms, QT, GTK, Cocoa, etc SUCKS I think that this depends on your background. Personally, I would rather do a UI in QT than Javascript. I like that Qt supports high level components such as trees: https://doc.qt.io/qt-5/qtwidgets-itemviews-simpletreemodel-example.html With Qt I can also use a lot of the experience that I gained 5 years ago on a UI today. Any Javascript UI ex…

> I would rather do a UI in QT than Javascript. This has nothing to do with Javascript. It's much easier to do complicated UI using a web browser's layout engine than it is using one of the above frameworks. For really simple stuff, yes it's about the same, maybe even easier with native UI, but if you ever need to do something outside of buttons and lists, things will get ugly fast. On a browser on the other hand, yo…

CSS rules still have a lot to improve compared with XAML styles, triggers and best of all, modularity.

Re: Show HN: Cross-platform desktop applications with PyQT

#235

So this is a wrapper for PyInstaller? I see that it creates an installer .exe on Windows or a dmg on Mac, which is nice (I'm having trouble with PyQt and the latter at the moment). It's unclear what the other advantages over PyInstaller are. Does @cached_property provide a performance benefit?

It uses PyInstaller, but also does much more. For example, PyInstaller doesn't let you create installers. Also, PyInstaller only gets you 95% there for packaging. There are still some edge cases such as missing DLLs [1]. Finally, fbs provides a very high-level interface. You don't have to learn PyInstaller's configuration options, or how to create an installer on Windows or a .dmg file on Mac. Those are all things that take a significant amount of time to learn, get right and integrate. fbs does it all for you.

[1]: https://github.com/mherrmann/fbs/blob/cb0d57e59c9fecf24fb281...

Re: Show HN: Cross-platform desktop applications with PyQT

#236

Earlier quoted context omitted.

Neither are as good as 99% of the tools available for development with HTML/CSS. Plus, with HTML/CSS, you can work manually on your project, without any special tool besides your browser, and see the effects you have on the layout in real time. Delphi/Qt Designer look way worse than any HTML/CSS/JS GUI builder, too - along with having interfaces equivalent to what GIMP's is to Photoshop.

Neither are as good as 99% of the tools available for development with HTML/CSS. [...] Delphi/Qt Designer look way worse than any HTML/CSS/JS GUI builder, too - along with having interfaces equivalent to what GIMP's is to Photoshop. I have a feeling that you do not have any actual experience with Qt Designer or RAD tools? Designing a user interface quickly is many times easier in Qt, Delphi, etc. than in HTML/CSS. It…

At one of my jobs, a Delphi application (admittedly quite old) was reimplemented with the latest (at trhe time, anyway, I'm sure it's completely passe now) web frameworks, fancy Javascripts, nd all that.

Not only did it take something like two orders of magnitude more man-hours to develop, but it takes users twice as long to get anything done, too.

Re: Show HN: Cross-platform desktop applications with PyQT

#237
post #17

Earlier quoted context omitted.

How is this an issue? Before Electron and other HTML/CSS-based "native" apps became all the rage (which is fairly recently), native apps were built using Qt, GTK, Cocoa, WPF, WinForms, MFC, etc., and they did just fine. Perhaps we just really don't need these "effects" and just need consistent, simple UIs of the sort that toolkits that paint native widgets can give you. Whenever I install an app that's built using so…

"Bah humbug, the old stuff is good enough for me!" is a shitty answer. Why would you not want a toolkit that makes rich application experiences across multiple platforms easy and standard? I get that performance is a problem with the tooling in its current form (arguably...) but that's not a reason to ignore the problem electron is solving: creating complex UIs using things like WinForms, QT, GTK, Cocoa, etc SUCKS. I…

The platform widget set is a language: when you look at a well-behaving application that uses such language, you immediately know what's a button, what's a menu, what's a tooltip, what's a label etc., and you can configure how ALL the applications look via applying a theme system-wide. Especially important if one needs certain color schemes or font sizes globally. Modern apps each have their own distinct language, and that puts the user at discomfort (and also danger, from time to time) as he through trial and error seeks how to use the thing to get what he wanted to do done. It's a feature when all the apps look like each other for the most part.

Re: Show HN: Cross-platform desktop applications with PyQT

#238

Immediate mode graphical user interfaces have changed the way I look at GUI programming for the better. Here are my bindings to python for the nuklear framework. https://github.com/billsix/pyNuklear

Could you elaborate, or have a link handy?

Re: Show HN: Cross-platform desktop applications with PyQT

#239
post #6

QT is amazing, it has been around so long and there even is a photoshop to qml exporter [1] that helped us make this dashboard for my Universitys formula hybrid team in [2] [3]. It really did not take too long and the performance is amazing on the Pi. I highly recommend QT, and there are amazing bindings for languages. I am looking forward to trying this out! [1] https://github.com/qt-labs/photoshop-qmlexporter [2] h…

Qt, the application framework from Qt Software is written as Qt (capital Q). It is not written as QT (capital Q, capital T). QT can refer to a lot of other things, e.g. Apple QuickTime. The official pronunciation of Qt is “cute”. It is not pronounced as “cue tea”. [0]: https://ariya.io/2009/01/qt-not-qt

That's funny, I've never heard anyone pronounce it 'cute'. (anecdotal, maybe ~20 developers so far)

Re: Show HN: Cross-platform desktop applications with PyQT

#240

Unfortunatelly PyQt does not solve the problem of Javascript engineers who are not willing to learn a new programming language. That's the whole reason for the whole Javascript fadigue. Computer Science has had "had tools for the right jobs" for years, but now we have a large developer base that only knows Javascript and think it's some kind of holy grail of computing. Happened before with Java. Happened before with…

Those JS ninjas could just go with QML and JS. Shouldn't be any difficult for them. And much leaner and more efficient than an Electron app, too.

http://doc.qt.io/qt-5/qtqml-javascript-expressions.html

Post reply on HN