4 ms·
Side note, but the "browser dev tools but for Qt" exists, it is called Gammaray.
by detaro 4y ago
Side note, but the "browser dev tools but for Qt" exists, it is called Gammaray.
- LorenDB 4y agoIndeed, as I read the part about wanting a devtools thing, I thought "How has this person never used Gammaray?" Gammaray is super useful.
- kelnos 4y agoSame for GTK; settting `GTK_DEBUG=interactive` in the environment before running the app (I think you have to set a gsettings key somewhere first as well) brings up a separate window with your application that lets you inspect the UI. I wonder how common these things are, though, in other toolkits.
- simplotek 4y ago> Side note, but the "browser dev tools but for Qt" exists, it is called Gammaray. Also, accessibility tools like Microsoft's inspect[1] already allow people to see an app's widget tree. With Qt it's also trivial to put together a tree view that renders your app's widget tree. Qt also provides infrastructure to unit test widgets.[2] Qt also uses UI form files to allow WYSIWYG access to their UI components. From reading the article, I was left with the impression that the author's struggles with a Qt codebase was that he had little to no experience with desktop development in general and Qt in particular, and experienced issues trying to get his bearings. [1] https://learn.microsoft.com/en-us/windows/win32/winauto/inspect-objects https://learn.microsoft.com/en-us/windows/win32/winauto/insp... [2] https://doc.qt.io/qt-6/qttestlib-tutorial3-example.html https://doc.qt.io/qt-6/qttestlib-tutorial3-example.html
- PoignardAzur 4y ago> Qt also provides infrastructure to unit test widgets. ... Holy crap, how did I never hear of this? I did search for Qt testing infrastructure before writing this article too.
- pjmlp 4y agoThere are tons of them developed during the last 25 years. When I see posts like this, it only shows how little current generations know about native tooling, mostly because they only focus on FOSS stuff on GNU/Linux instead of what is available on other systems, or eventually paid for tooling.
- ebiester 4y agoI've went looking for these myself. While they certainly might exist, the literature is not easy to find for those in the FOSS community. The other issue is that most people are looking for cross-platform options outside the C/C++ ecosystem. While I understand the tradeoffs for cross-platform UX, the truth is that it's only the giant amount of money placed into browser development that has made it even remotely productive. (Independently, I think we would be better off with a reinvention of the Java Web Start idea that disposes with the bad foundation we have for web applications, but that's a different blog post.)
- detaro 4y agoOf course both Qt and Gammaray are just fine as FOSS on Linux.
- pjmlp 4y agoDepends on how Qt gets deployed into production, and not all plugins are FOSS.
- ognarb 4y agoGammaray is open source ans has been created by Volker Krause, a prominent figure of the KDE community (a Linux Desktop Environment project). It's documented as part of the official qt documentation https://doc.qt.io/GammaRay/ https://doc.qt.io/GammaRay/ and is part of the commercial Qt for Automotive Suite.
- PoignardAzur 4y agoWell, these announcement threads are a good example of Cunningham's Law! I had never heard about Gammaray before. I think this is an instance of "the future is already here, but it's unevenly distributed". All the tools I talk about in this post already exist in one way or another. Browser devtools already exist, rr and redux-replay already exist, pernosco already exists, etc. But a lot of developers haven't heard about them (eg I suspect most Qt developers haven't heard of Gammaray), or can't use them for their specific use-case. And in the case of Rust UI, lots of greenfield frameworks are being developed that don't have these tools by default. So Masonry isn't aiming to somehow be better than every existing desktop GUI framework. It's aiming to help Rust framework developers include these tools by default, so that developers always know to reach for them.
- deleted 4y ago[deleted]