6 ms·
It really is - any many people focus on its features as a GUI library, but it goes so much beyond that. Providing data structures, concurrency primitives, file
by problems 9y ago
It really is - any many people focus on its features as a GUI library, but it goes so much beyond that. Providing data structures, concurrency primitives, file management, networking, high performance drawing, etc. And it provides all these in a cross platform way that often feels nicer than other C++ libraries in my experience. Sometimes these are less robust than alternatives, but often they're much more elegant.
- pjmlp 9y ago> And it provides all these in a cross platform way that often feels nicer than other C++ libraries in my experience. It follows the path of Turbo Vision, OWL and VCL. Where productivity comes first, and C style tricks are only done when performance really matters. Many C++ APIs suffered from std not being rich enough, and lots of Cisms in the early days. Nowadays with all major OS vendors switching to safer languages for the UI layer, Qt seems to be the last C++ GUI framework in widespread usage.
- justinclift 9y agoQt's file management seems extremely poor though. It's not even possible to set the last modified date/time on a file through Qt. :(
- user5994461 9y agoPoor compared to what? The stdlib doesn't have anything to use files. The C win32 API CreateFile() has 6 arguments each more obscure than the previous one. Gotta support sync and async in a single function. The C kernel API NtCreateFile() has around 13 arguments, probably including enum with 105 different values.
- justinclift 9y agoWell, Qt provides a QFile class to do standard file operations. eg create, remove, rename, etc. It also has the QFileInfo class to retrieve file info, such as creation/last-modified/last-accessed date. It just seems super weird to not also have the matching functions available to set those dates. Which we really wanted for our client side Qt/C++ GUI, as I'd just finished doing the server side part in Go which does provide those. And Qt seems to provide pretty much everything else... but this one weird bit which is missing. :/
- nly 9y agoTo be honest I find everything outside of the GUI subset really really poor. Plus the fact you can basically never escape callback soup, and it's really hard to integrate the Qt event loop in to anything else. QML, Quick and Qt Widgets are fantastic though.