3 ms·
Topping my list of GUI toolkit requirements are cross-platform and native look & feel. As far as I know, Qt still beats everything else in these areas on the de
by foresto 1y ago
Topping my list of GUI toolkit requirements are cross-platform and native look & feel. As far as I know, Qt still beats everything else in these areas on the desktop. It's mostly excellent.
However, I find The Qt Group's commercial licensing (and their tactics as reported by various people on HN) a little scary. If I were to go commercial, I think I would stick with LGPL Qt and link dynamically or give customers my object files for re-linking, because I get the impression that accepting a commercial Qt license could restrict my ability to use open-source Qt elsewhere. I suppose there might be some other way to safely navigate those waters, but from what I've read, The Qt Group has a reputation for making this far from hassle-free. It's not an immediate problem because I currently use Qt only for open-source and personal tools.
I have grown tired of C++, so I've been using Python to drive Qt. The bindings are very good, mirroring the C++ API so closely that I just use the C++ docs when I need to look something up.
I've also been watching for Qt bindings to other compiled languages, mainly for distributing non-Linux GUI apps more simply than Python allows. Such bindings often turn out to expose only Qt Quick, which lacks functionality that I sometimes need, but there are a few that expose Qt Widgets. For example, these Go bindings:
https://github.com/mappu/miqt https://github.com/mappu/miqt
I hope we'll eventually see a cross-platform GUI toolkit rivaling Qt in a language more pleasant than C++ (and ideally easier to bind to other languages). The one being developed for internal use by the Zed editor has some promising ideas about how to render native-looking text, which I think is a good start:
https://zed.dev/blog/videogame https://zed.dev/blog/videogame
https://www.gpui.rs/ https://www.gpui.rs/
- pastorhudson 1y agoI’m hopeful that toga will be good for python dev cross platform including iOS and android. I haven’t tried it yet though. https://beeware.org/project/toga/ https://beeware.org/project/toga/
- jenadine 1y agoGpui is not on crates.io. This is a problem with Rust UI in general that they are not stable and often change API. The only exception here is Slint which seems stable in 1.x for some years.
- rixed 1y agoI've been reading these threads litteraly for decades, hopping that someone would finally bring to light a better deal than Qt. Will come back next year :-(