Hacker News new | past | comments | ask | show | jobs | submit login

Honestly I'd suggest they just use Qt then. Our company is writing a portable replacement to our Electron client right now. The electron option was absolute garbage, very limited, and caused us untold pain. We got tired of telling customers "we can't really do that". The Qt version is already working on Linux and Windows, and on whatever CPUs we compile it for. There's no excuse for Electron, because there are good, portable GUI frameworks and libraries to use instead. Hell, don't like Qt? Use GTK+! I use GTK+ for my own portable personal projects, I like the API better and it integrates better with XFCE.



Qt is nice but costs money for developers of proprietary software. Electron has its own costs but most of them are externalized to the user. So it wins out.


? It's LGPL, so as long as you link dynamically, it's fine for proprietary software to use it. A lot of commercial proprietary software in the VFX industry does this (Nuke, Katana, Mari, Maya, Houdini, etc).


IDK a lot of proprietary developers don't understand the LGPL and are scared by its copyleft. They like how simple the MIT license is.

Also, apple's app store is famously LGPL-incompatible.


> Also, apple's app store is famously LGPL-incompatible.

If you're shipping a proprietary application that links to LGPL libraries in accordance to the license, that's fine.

It's GPL applications that the App Store bans.


Not a lawyer but LGPLv3 contains the anti tivoization rule, which might cause issues with the mandatory signing.


IIRC, Qt has been licensed under the LGPL for many many years, so you can develop proprietary software that dynamically links to Qt no cost.


I guess there will be people going to say that QT is LGPL, which allows people to use in proprietary applications. But I think there must be people who just want permissive alternative, and Electron is MIT, so it is indeed more viable (liceise wise).


Because then you have to use C++. That alone is a big turnoff to a lot of developers.


Nope, you can also use Python, like I do with my 3rd party Elite: Dangerous application: https://captainslog.scarygliders.net/captains-log-2/

All written in Python, recently moved to Qt5 and PySide2, runs on Windows and when I figure out packaging for Linux (probably AppImage) will release it for Linux as well.

I believe there are Qt bindings for other languages too.

So you're not stuck with C++ :)


I like that UI! Out of curiosity, do you use a kind of wysiwyg (a la qt designer) to make your interfaces, or do you write Python code directly? Coming from JavaFX using scenebuilder to design UIs, l tried Pyside2 some years ago, never managed to find a way to make it work with a wysiwyg the way I am used to with JavaFX. Writing and styling widgets by hand is painfully slow.


Thanks :)

I use Qt Designer for the layout. I never could get the hang of the Horizontal & Vertical spacers or the Layout Managers in Qt, so it's a static layout.

There are quite a few "pages" in the application which appear or disappear when required. Those are all QWidgets which have their own static layout.

The doughnut chart showing materials available on a planet is a dynamically created web page shown via a QtWebView widget.

There's an Overlay Widget which is basically a QWidget with transparency, with the main window being hidden then called up via a global hotkey - I use Python ctypes to enable the global hotkey, calling the Windows API to enable that functionality.

And the underlying databases used are sqlite3 via SQLAlchemy.

It all works very nicely.


Nice. I didn't know that there were bindings for other languages now.


+1 for Qt.

I dumped GTK a few years back due to - and I have no idea if the same thing happens today - weirdness with GTK themes not working between minor releases of it, and I vaguely remember there were other annoyances but by then I was impressed with Qt and the PySide (noe PySide2) bindings so stuck with it.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: