4 ms·
QtWidgets works really hard to try and remain native (both by reusing the platform window pointers, and mimicking style and functionality). That for me is worth
by kodablah 6y ago
QtWidgets works really hard to try and remain native (both by reusing the platform window pointers, and mimicking style and functionality). That for me is worth it. While the article constantly complains about dev tooling size, a reasonable complaint, my DLLs I ship w/ my Qt program are just 20MB (so I'd suspect a similar size increase to a single binary were I to statically link). If I didn't care about native look and feel I might have gone GTK3 (absent from the comparison here).
Having said that, the other issues concerning Qt may be valid, but for a code-only set of widgets, they work for me. For these kinds of comparisons to have value, you have to list the pros and cons of all things, not just the pros of what you like and cons of what you don't.
- mod50ack 6y agoI think if you are going for native widgets with a more lightweight (and more liberally licensed) bent, then wx is a solid option too, though it requires a bit more manual UX work, even though it uses native widgets for real (even in some places Qt doesn't). But other than Qt or wx, I really can't get behind these new GUI platforms which keep cropping up. They all have too many issues and don't end up presenting a native experience (or often even a good one).
- solarkraft 6y agoQt Quick, btw, seems to have learned a lot of lessons from game engines by their tech (all OpenGL) and terminology ("scene graph").
- joezydeco 6y agoIf you take the time and care to build the Qt libraries yourself and configure out all the stuff you don’t need, you can get an order of magnitude smaller. I think Qt even supports a minimal configuration nowadays and markets it as “Qt Lite” In any case I think I’ve gotten a stripped static executable down to 5 or 6 MB.
- userbinator 6y agoIt's odd to see the "just 20MB" phrasing. I guess even native applications have expanded to the point where 20MB seems small, but in absolute terms I still consider that quite large --- to put things into perspective, a full installation of Windows 3.11, the OS with all of its included applications, is less than 20MB. I wonder if, in another 20 years, we may see people speaking of "just 20GB"...
- watermelon0 6y agoI think this is in comparison with 200M+ Electron executable, which is nowadays bundled with almost every 'native' app. Do you want to flash image to USB drive? There is Electron app (balenaEtcher) for that. Do you want to control your mouse/keyboard? There is Electron app for that (Logitech GHub), which also includes many Qt libraries. Do you want a terminal emulator? There is an Electron based app for that. ...
- stu2b50 6y agoIt's unfortunate that traditional desktop GUI frameworks are such an abysmal developer experience that everything from FOSS made by 1 person in their spare time to the cornerstone of multi-billion dollar companies choose to embed a web browser into their desktop app instead. Qt is the best I've seen, but it has the normal c++ FUD plus the infamous licensing FUD. And honestly, I'll have to admit that how react models GUIs is a really attractive.
- einpoklum 6y ago> Qt is the best I've seen, but it has the normal c++ FUD Not sure what you mean exactly; C++ is complex, but why the fear and doubt? Also - Qt is based on veeery old C++ - a 22-year-old standard. The language has changed significantly since then, while Qt's fundamental design (in terms of programming) - not really, or not much. So, Qt is not "normal C++" these days.
- bmn__ 6y agoSimply add https://github.com/woboq/verdigris https://github.com/woboq/verdigris so you can use C++ ≥ 14.
- slavik81 6y agoThe moc is not the issue. The biggest design problem with Qt is that it predates move semantics. That history affects the design of almost every class. It feels like a beautiful old walking path that detours around a wall that's long since been torn out. It's still fine... but... it's not how you'd design it if you were to start from scratch.
- account42 6y ago> My DLLs I ship w/ my Qt program are just 20MB (so I'd suspect a similar size increase to a single binary were I to statically link) I have an (admittedly simple) application using QtWidgets that is under 10 MiB statically linked.
- Shorel 6y agoQt is not native enough, if you compare it with wxWidgets. Particularly in Windows.