{"slug": "qt", "name": "Qt", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "Cross-platform C++ application and GUI framework with Widgets and QML toolkits.", "recommenders": 8, "commenters": 22, "warners": 6, "score": 3.586, "rising": 0.04, "first": "2025-11-24", "latest": "2026-10-26", "why": "HN commenters recommend Qt as a mature, batteries-included toolkit for cross-platform native desktop apps, often naming it as an alternative to Electron or WinUI.", "why_is_quote": false, "has_verdict": true, "sentiment": {"recommend": 8, "neutral": 7, "compare": 1, "warn": 6}, "spark": [0, 2, 0, 1, 2, 0, 0, 1, 0, 2, 0, 0], "listed": true, "loved": ["Cross-platform desktop", "Mature ecosystem"], "caveat": "Language sprawl", "short_quote": "one of the most successful desktop gui toolkit of all times (Qt Widgets)", "icon": true, "domain": "successfulsoftware.net", "github_repo": null, "official_url": "https://www.qt.io", "pricing": "open source", "aliases": ["Qt"], "verdict": [{"text": "HN commenters recommend Qt as a mature, batteries-included toolkit for cross-platform native desktop apps,", "cites": [{"id": 776265856, "item_id": 48516616, "url": "https://news.ycombinator.com/item?id=48516616", "by": "rjh29", "date": "2026-06-13", "stance": "warn", "quote": "it struck me as dated compared to Flutter or React Native", "excerpt": "As a \"batteries included\" framework Qt is undoubtably amazing but I used it on a project recently and it struck me as dated compared to Flutter or React Native. Maybe I'm doing it wrong but I had to write a lot of boilerplate C++ even when using QML. The layout engine feels byzantine. The state management is mostly manual. Flutter is a lot more consistent, reactive, and all done in one way (Dart) and it supports hot ", "context": "", "use_case": "recent project UI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 738975154, "item_id": 46185947, "url": "https://news.ycombinator.com/item?id=46185947", "by": "lazypenguin", "date": "2025-12-07", "stance": "recommend", "quote": "one of the most successful desktop gui toolkit of all times (Qt Widgets)", "excerpt": "I think the Rust community is sleeping on the potential of iced for traditional desktop gui. I monitor the gui space in Rust closely and have seen many toolkits come and go. In my opinion a desktop gui library/framework needs to solve two things to be useful: architecture and advanced widgets. egui has served me well and is eagerly recommended in \"what gui should I use\" threads since it solves the widget problem well", "context": "monitors the Rust GUI space closely", "use_case": "advanced desktop GUIs", "switched_from": "", "story": "Iced 0.14 has been released (Rust GUI library)"}, {"id": 789795504, "item_id": 49362219, "url": "https://news.ycombinator.com/item?id=49362219", "by": "dekhn", "date": "2026-08-19", "stance": "neutral", "quote": "In my case, I use Qt", "excerpt": "I write applications that run the same on all three main desktop platforms (typically): Mac, Windows, Linux. Writing an app for any single desktop platform is weird, unless the application uses some sort of specific functionality of that platform. In my case, I use Qt, but I've also written applications which had three UI drivers (X11/Win32/MacOS).", "context": "writes cross-platform desktop applications", "use_case": "cross-platform desktop apps", "switched_from": "", "story": "A 3D fruit fly on macOS desktop powered by the real FlyWire connectome"}]}, {"text": " often naming it as an alternative to Electron or WinUI.", "cites": [{"id": 788548769, "item_id": 49284298, "url": "https://news.ycombinator.com/item?id=49284298", "by": "GeneralMaximus", "date": "2026-08-13", "stance": "recommend", "quote": "there are basically only three options in 2026: Qt, Electron, or roll your own like Zed/Sublime.", "excerpt": "Why would you not? I use Ableton, Figma, and Emacs regularly. I have a decade (or more) of muscle memory around these apps. If they suddenly decided to adopt the look, feel, and conventions of their underlying host platform, I\u2019d be very upset. If I\u2019m using Emacs, I don\u2019t want to use Cmd+S to save my files on macOS and Ctrl+S on Windows. I\u2019ve already memorized C-x C-s. I don\u2019t want Ableton to adopt whatever new design", "context": "", "use_case": "long-lasting cross-platform apps", "switched_from": "", "story": "What's New in Flutter 3.47"}, {"id": 759680900, "item_id": 47480056, "url": "https://news.ycombinator.com/item?id=47480056", "by": "pjmlp", "date": "2026-03-22", "stance": "recommend", "quote": "Otherwise, Qt, VCL, Firemonkey, Avalonia, Uno, ImGUI,....", "excerpt": "Again, unless you have existing Windows 8/10 applications that were written against WinRT, UAP or UWP[0], that make use of WinUI 2.0, forget about touching anything related to WinUI 3.0 or WinAppSDK, stay away from the marketing. Exception being the few APIs that have been introduced in Win32 that instead of COM, actually depend on WinRT like the new MIDI 2.0 or Windows ML. Keep using Win32, MFC (yes it is in a bette", "context": "", "use_case": "cross-platform UI", "switched_from": "", "story": "Windows native app development is a mess"}, {"id": 759435428, "item_id": 47464714, "url": "https://news.ycombinator.com/item?id=47464714", "by": "pjmlp", "date": "2026-03-21", "stance": "recommend", "quote": "better use Win32, Forms, WPF, Avalonia, Qt,...", "excerpt": "People stop believing in anything related to WinUI coming from Microsoft marketing machine. Besides examples like this one. The amount of issues on Github across all WinUI related tools, keeps increasing all over the place, there is almost no visible activity, the community calls have been a disaster with Q&A being ignored, team rotation, whatever. Native AOT still cannot do what .NET Native did (there is a CsWinRT 3", "context": "", "use_case": "", "switched_from": "", "story": "Windows 11's Start menu was built using React \u2013 now switching to native WinUI"}]}, {"text": " The most common complaints are a fragmented, boilerplate-heavy mix of C++, QML and JavaScript,", "cites": [{"id": 738972033, "item_id": 46185752, "url": "https://news.ycombinator.com/item?id=46185752", "by": "wonklebonkle", "date": "2025-12-07", "stance": "warn", "quote": "In Qt you write your display layer in QML then your UI logic in Javascript and any backend advanced logic in C++. It is frankly exhausting.", "excerpt": "Iced is a wonderful dead-simple framework. I hope it forever maintains the simplicity which combines nicely with Rust\u2019s features. One thing I love about Iced and miss in Qt is writing the software in a single language. Qt has chosen to introduce multiple languages into their framework which makes the entire codebase a huge learning curve. In Qt you write your display layer in QML then your UI logic in Javascript and ", "context": "", "use_case": "GUI development", "switched_from": "", "story": "Iced 0.14 has been released (Rust GUI library)"}, {"id": 776265856, "item_id": 48516616, "url": "https://news.ycombinator.com/item?id=48516616", "by": "rjh29", "date": "2026-06-13", "stance": "warn", "quote": "it struck me as dated compared to Flutter or React Native", "excerpt": "As a \"batteries included\" framework Qt is undoubtably amazing but I used it on a project recently and it struck me as dated compared to Flutter or React Native. Maybe I'm doing it wrong but I had to write a lot of boilerplate C++ even when using QML. The layout engine feels byzantine. The state management is mostly manual. Flutter is a lot more consistent, reactive, and all done in one way (Dart) and it supports hot ", "context": "", "use_case": "recent project UI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 736522640, "item_id": 46032665, "url": "https://news.ycombinator.com/item?id=46032665", "by": "Kelteseth", "date": "2025-11-24", "stance": "neutral", "quote": "We are using it for our apps, but I can see why people do not use it for new projects", "excerpt": "We are using it for our apps, but I can see why people do not use it for new projects: 1. The state of C++ is not great. Few developers, C++ footguns, complicated build systems, and generally slow progress, see my https://arewemodulesyet.org/ 2. How Qt presents and licenses itself. Either you go LGPL or you have to pay big money for a commercial license, which will then infect all other apps as well. For example, whe", "context": "", "use_case": "native desktop apps", "switched_from": "", "story": "Build desktop applications using Go and Web Technologies"}]}, {"text": " and licensing that forces a choice between LGPL and costly commercial terms.", "cites": [{"id": 748260817, "item_id": 46766301, "url": "https://news.ycombinator.com/item?id=46766301", "by": "Shorel", "date": "2026-01-26", "stance": "warn", "quote": "QT has license issues", "excerpt": "At this point I wish that there was some native alternative to the Web-based everything. wxWidgets is oldschool, QT has license issues, GTK looks so-so except on Linux, TCL/TK looks ugly everywhere. In the modern world we need some GPU accelerated GUI library. Something like the one used in SublimeText. But with BSD or MIT license of course. That would be much more interesting for me.", "context": "", "use_case": "native GUI toolkit", "switched_from": "", "story": "Web-based image editor modeled after Deluxe Paint"}, {"id": 736522640, "item_id": 46032665, "url": "https://news.ycombinator.com/item?id=46032665", "by": "Kelteseth", "date": "2025-11-24", "stance": "neutral", "quote": "We are using it for our apps, but I can see why people do not use it for new projects", "excerpt": "We are using it for our apps, but I can see why people do not use it for new projects: 1. The state of C++ is not great. Few developers, C++ footguns, complicated build systems, and generally slow progress, see my https://arewemodulesyet.org/ 2. How Qt presents and licenses itself. Either you go LGPL or you have to pay big money for a commercial license, which will then infect all other apps as well. For example, whe", "context": "", "use_case": "native desktop apps", "switched_from": "", "story": "Build desktop applications using Go and Web Technologies"}]}], "praise": [{"label": "Cross-platform desktop", "summary": "Commenters list it as a go-to choice for desktop apps that run on Mac, Windows and Linux.", "quotes": [{"id": 789795504, "item_id": 49362219, "url": "https://news.ycombinator.com/item?id=49362219", "by": "dekhn", "date": "2026-08-19", "stance": "neutral", "quote": "In my case, I use Qt", "excerpt": "I write applications that run the same on all three main desktop platforms (typically): Mac, Windows, Linux. Writing an app for any single desktop platform is weird, unless the application uses some sort of specific functionality of that platform. In my case, I use Qt, but I've also written applications which had three UI drivers (X11/Win32/MacOS).", "context": "writes cross-platform desktop applications", "use_case": "cross-platform desktop apps", "switched_from": "", "story": "A 3D fruit fly on macOS desktop powered by the real FlyWire connectome"}, {"id": 788548769, "item_id": 49284298, "url": "https://news.ycombinator.com/item?id=49284298", "by": "GeneralMaximus", "date": "2026-08-13", "stance": "recommend", "quote": "there are basically only three options in 2026: Qt, Electron, or roll your own like Zed/Sublime.", "excerpt": "Why would you not? I use Ableton, Figma, and Emacs regularly. I have a decade (or more) of muscle memory around these apps. If they suddenly decided to adopt the look, feel, and conventions of their underlying host platform, I\u2019d be very upset. If I\u2019m using Emacs, I don\u2019t want to use Cmd+S to save my files on macOS and Ctrl+S on Windows. I\u2019ve already memorized C-x C-s. I don\u2019t want Ableton to adopt whatever new design", "context": "", "use_case": "long-lasting cross-platform apps", "switched_from": "", "story": "What's New in Flutter 3.47"}, {"id": 759680900, "item_id": 47480056, "url": "https://news.ycombinator.com/item?id=47480056", "by": "pjmlp", "date": "2026-03-22", "stance": "recommend", "quote": "Otherwise, Qt, VCL, Firemonkey, Avalonia, Uno, ImGUI,....", "excerpt": "Again, unless you have existing Windows 8/10 applications that were written against WinRT, UAP or UWP[0], that make use of WinUI 2.0, forget about touching anything related to WinUI 3.0 or WinAppSDK, stay away from the marketing. Exception being the few APIs that have been introduced in Win32 that instead of COM, actually depend on WinRT like the new MIDI 2.0 or Windows ML. Keep using Win32, MFC (yes it is in a bette", "context": "", "use_case": "cross-platform UI", "switched_from": "", "story": "Windows native app development is a mess"}]}, {"label": "Mature ecosystem", "summary": "Commenters call it a batteries-included framework and one of the most successful desktop GUI toolkits.", "quotes": [{"id": 776265856, "item_id": 48516616, "url": "https://news.ycombinator.com/item?id=48516616", "by": "rjh29", "date": "2026-06-13", "stance": "warn", "quote": "it struck me as dated compared to Flutter or React Native", "excerpt": "As a \"batteries included\" framework Qt is undoubtably amazing but I used it on a project recently and it struck me as dated compared to Flutter or React Native. Maybe I'm doing it wrong but I had to write a lot of boilerplate C++ even when using QML. The layout engine feels byzantine. The state management is mostly manual. Flutter is a lot more consistent, reactive, and all done in one way (Dart) and it supports hot ", "context": "", "use_case": "recent project UI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 738975154, "item_id": 46185947, "url": "https://news.ycombinator.com/item?id=46185947", "by": "lazypenguin", "date": "2025-12-07", "stance": "recommend", "quote": "one of the most successful desktop gui toolkit of all times (Qt Widgets)", "excerpt": "I think the Rust community is sleeping on the potential of iced for traditional desktop gui. I monitor the gui space in Rust closely and have seen many toolkits come and go. In my opinion a desktop gui library/framework needs to solve two things to be useful: architecture and advanced widgets. egui has served me well and is eagerly recommended in \"what gui should I use\" threads since it solves the widget problem well", "context": "monitors the Rust GUI space closely", "use_case": "advanced desktop GUIs", "switched_from": "", "story": "Iced 0.14 has been released (Rust GUI library)"}, {"id": 742697648, "item_id": 46418603, "url": "https://news.ycombinator.com/item?id=46418603", "by": "isodev", "date": "2025-12-29", "stance": "recommend", "quote": "I love the Qt ecosystem.", "excerpt": "This is brilliant work and I love the Qt ecosystem. Can\u2019t help but imagine the things we could\u2019ve had if Apple wasn\u2019t pushing the horror of Swift down everyone\u2019s throat by blocking alternatives in so many tiny ways.", "context": "", "use_case": "", "switched_from": "", "story": "Developing a Beautiful and Performant Block Editor in Qt C++ and QML"}]}, {"label": "Language bindings", "summary": "Commenters note Qt bindings exist for Go and Zig and report building Qt apps with Rust.", "quotes": [{"id": 776350194, "item_id": 48521887, "url": "https://news.ycombinator.com/item?id=48521887", "by": "RustSupremacist", "date": "2026-06-13", "stance": "recommend", "quote": "Rust needs good Qt bindings.", "excerpt": "Rust needs good Qt bindings. None of the existing projects will ever reach Qt. Rust. Cargo. Qt. Go did it with https://github.com/mappu/miqt. Zig did it with https://github.com/rcalixte/libqt6zig. When will Rust do it? The time is now.", "context": "", "use_case": "GUI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 755793041, "item_id": 47237065, "url": "https://news.ycombinator.com/item?id=47237065", "by": "giancarlostoro", "date": "2026-03-03", "stance": "neutral", "quote": "to build native apps via Qt and Rust", "excerpt": "I have been using Claude Code ironically enough to build native apps via Qt and Rust, the output is impressive. Might give writing an IRC client a shot and put it in GitHub.", "context": "", "use_case": "native app framework", "switched_from": "", "story": "Claude is an Electron App because we've lost native"}]}, {"label": "Responsive apps", "summary": "One commenter says their Qt apps aren't laggy at all.", "quotes": [{"id": 790173136, "item_id": 49385821, "url": "https://news.ycombinator.com/item?id=49385821", "by": "lelanthran", "date": "2026-08-21", "stance": "recommend", "quote": "My Qt and Lazarus apps aren't laggy at all", "excerpt": "> One thing I think which is overlooked is the raw feeling of speed a good TUI can give you. The lowest grade consumer laptop could probably download my little dictionary program and still get true search-on-keystroke performance, because there is virtually nothing slowing down that path, no animations, no nothing. Now most of that comes down to the data structures involved and making sure nothing ever has to go over", "context": "", "use_case": "building GUI apps", "switched_from": "", "story": "Stop Making TUIs"}]}, {"label": "Preferred over GTK", "summary": "One KDE Plasma user says they always prefer Qt over GTK.", "quotes": [{"id": 753040241, "item_id": 47065015, "url": "https://news.ycombinator.com/item?id=47065015", "by": "firemelt", "date": "2026-02-18", "stance": "recommend", "quote": "after that I always prefer qt over gtk", "excerpt": "first time I use plasma is when I installing rolling open suse I really enjoy it after that I always prefer qt over gtk", "context": "", "use_case": "", "switched_from": "", "story": "Plasma 6.6"}]}], "caveats": [{"label": "Language sprawl", "summary": "Commenters say splitting work across QML, JavaScript and C++, plus the Widgets/QML divide, adds boilerplate and a steep learning curve.", "quotes": [{"id": 738972033, "item_id": 46185752, "url": "https://news.ycombinator.com/item?id=46185752", "by": "wonklebonkle", "date": "2025-12-07", "stance": "warn", "quote": "In Qt you write your display layer in QML then your UI logic in Javascript and any backend advanced logic in C++. It is frankly exhausting.", "excerpt": "Iced is a wonderful dead-simple framework. I hope it forever maintains the simplicity which combines nicely with Rust\u2019s features. One thing I love about Iced and miss in Qt is writing the software in a single language. Qt has chosen to introduce multiple languages into their framework which makes the entire codebase a huge learning curve. In Qt you write your display layer in QML then your UI logic in Javascript and ", "context": "", "use_case": "GUI development", "switched_from": "", "story": "Iced 0.14 has been released (Rust GUI library)"}, {"id": 776265856, "item_id": 48516616, "url": "https://news.ycombinator.com/item?id=48516616", "by": "rjh29", "date": "2026-06-13", "stance": "warn", "quote": "it struck me as dated compared to Flutter or React Native", "excerpt": "As a \"batteries included\" framework Qt is undoubtably amazing but I used it on a project recently and it struck me as dated compared to Flutter or React Native. Maybe I'm doing it wrong but I had to write a lot of boilerplate C++ even when using QML. The layout engine feels byzantine. The state management is mostly manual. Flutter is a lot more consistent, reactive, and all done in one way (Dart) and it supports hot ", "context": "", "use_case": "recent project UI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 736522640, "item_id": 46032665, "url": "https://news.ycombinator.com/item?id=46032665", "by": "Kelteseth", "date": "2025-11-24", "stance": "neutral", "quote": "We are using it for our apps, but I can see why people do not use it for new projects", "excerpt": "We are using it for our apps, but I can see why people do not use it for new projects: 1. The state of C++ is not great. Few developers, C++ footguns, complicated build systems, and generally slow progress, see my https://arewemodulesyet.org/ 2. How Qt presents and licenses itself. Either you go LGPL or you have to pay big money for a commercial license, which will then infect all other apps as well. For example, whe", "context": "", "use_case": "native desktop apps", "switched_from": "", "story": "Build desktop applications using Go and Web Technologies"}]}, {"label": "Licensing", "summary": "Commenters cite license issues, saying you either go LGPL or pay heavily for a commercial license.", "quotes": [{"id": 748260817, "item_id": 46766301, "url": "https://news.ycombinator.com/item?id=46766301", "by": "Shorel", "date": "2026-01-26", "stance": "warn", "quote": "QT has license issues", "excerpt": "At this point I wish that there was some native alternative to the Web-based everything. wxWidgets is oldschool, QT has license issues, GTK looks so-so except on Linux, TCL/TK looks ugly everywhere. In the modern world we need some GPU accelerated GUI library. Something like the one used in SublimeText. But with BSD or MIT license of course. That would be much more interesting for me.", "context": "", "use_case": "native GUI toolkit", "switched_from": "", "story": "Web-based image editor modeled after Deluxe Paint"}, {"id": 736522640, "item_id": 46032665, "url": "https://news.ycombinator.com/item?id=46032665", "by": "Kelteseth", "date": "2025-11-24", "stance": "neutral", "quote": "We are using it for our apps, but I can see why people do not use it for new projects", "excerpt": "We are using it for our apps, but I can see why people do not use it for new projects: 1. The state of C++ is not great. Few developers, C++ footguns, complicated build systems, and generally slow progress, see my https://arewemodulesyet.org/ 2. How Qt presents and licenses itself. Either you go LGPL or you have to pay big money for a commercial license, which will then infect all other apps as well. For example, whe", "context": "", "use_case": "native desktop apps", "switched_from": "", "story": "Build desktop applications using Go and Web Technologies"}]}, {"label": "Apple platforms", "summary": "Commenters report Qt lagging behind Apple's Cocoa changes on macOS and being unsuitable for iOS.", "quotes": [{"id": 800515680, "item_id": 50032230, "url": "https://news.ycombinator.com/item?id=50032230", "by": "sdcfgy", "date": "2026-10-10", "stance": "warn", "quote": "I've had so many problems with stuff that uses Qt because Qt takes a while to catch up with things Apple broke inside their Cocoa internals.", "excerpt": "It's distinctly problematic there unfortunately. Particularly the moment you add any UI toolkits to it. I've had so many problems with stuff that uses Qt because Qt takes a while to catch up with things Apple broke inside their Cocoa internals. Very irritating platform to work on. Edit: love how I get downvoted for facts?! They literally broke Cocoa so it was throwing hopeless useless exceptions at the bottom of the ", "context": "", "use_case": "cross-platform UI toolkit", "switched_from": "", "story": "Apple/macOS removed from official Unix registry"}, {"id": 739462464, "item_id": 46216404, "url": "https://news.ycombinator.com/item?id=46216404", "by": "kevmuhuri", "date": "2025-12-10", "stance": "neutral", "quote": "He stated it's ok on macOS but not suitable for iOS.", "excerpt": "Talked to a dev 5 years ago who switched from Qt. He stated it's ok on macOS but not suitable for iOS. https://x.com/kevmuhuri/status/1275488020414808066 This indie dev (uses Qt) shows the process for updating icons to the latest UI refresh https://successfulsoftware.net/2025/09/26/updating-application-icons-for-macos-26-tahoe-and-liquid-glass/", "context": "", "use_case": "cross-platform app development", "switched_from": "", "story": "Qt, Linux and everything: Debugging Qt WebAssembly"}]}, {"label": "Dated design", "summary": "Commenters describe it as dated next to Flutter or React Native, with a byzantine layout engine and manual state management.", "quotes": [{"id": 776265856, "item_id": 48516616, "url": "https://news.ycombinator.com/item?id=48516616", "by": "rjh29", "date": "2026-06-13", "stance": "warn", "quote": "it struck me as dated compared to Flutter or React Native", "excerpt": "As a \"batteries included\" framework Qt is undoubtably amazing but I used it on a project recently and it struck me as dated compared to Flutter or React Native. Maybe I'm doing it wrong but I had to write a lot of boilerplate C++ even when using QML. The layout engine feels byzantine. The state management is mostly manual. Flutter is a lot more consistent, reactive, and all done in one way (Dart) and it supports hot ", "context": "", "use_case": "recent project UI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 797244881, "item_id": 49827805, "url": "https://news.ycombinator.com/item?id=49827805", "by": "fschuett", "date": "2026-09-24", "stance": "warn", "quote": "There's just so much wrong with KDE and Qt, architecturally and visually", "excerpt": "The issue with KDE is not the \"UX\", the issue is the crashiness and jank, which is an issue of C++ and the OOP-ness of Qt, respectively and no amount of philosophizing will fix that. Users can excuse high memory usage, users can excuse low FPS, users cannot excuse jank and crashes. It is very hard to pin down the problems with Qt because on the one hand you can produce well-working UIs with QML if you are committed t", "context": "", "use_case": "UI framework", "switched_from": "", "story": "Ideas on modernizing the open-source desktop"}]}, {"label": "Overhead", "summary": "One commenter contrasts sub-microsecond window opening in a custom Vulkan engine with milliseconds in Qt.", "quotes": [{"id": 803850416, "item_id": 50240651, "url": "https://news.ycombinator.com/item?id=50240651", "by": "rfgplk", "date": "2026-10-26", "stance": "warn", "quote": "Doing the same in Qt is what... milliseconds?", "excerpt": "His approach is actually correct (well, aside from doing it in the browser). I wrote a custom, fully from scratch Vulkan UI rendering engine, works more or less exactly as described above. Crazy efficient and performant. Removing VSync I can hit ~100k fps on a dingy 4 year old GPU. For instance in benchmarking opening a window is a _sub microsecond action_. Doing the same in Qt is what... milliseconds? Literally? Als", "context": "wrote a custom Vulkan UI rendering engine", "use_case": "UI toolkit", "switched_from": "", "story": "We should be more ambitious with the software we build"}]}], "who": [{"by": "garciansmith", "context": "KDE user", "url": "https://news.ycombinator.com/item?id=49824941", "date": "2026-09-24"}, {"by": "dekhn", "context": "writes cross-platform desktop applications", "url": "https://news.ycombinator.com/item?id=49362219", "date": "2026-08-19"}, {"by": "lazypenguin", "context": "monitors the Rust GUI space closely", "url": "https://news.ycombinator.com/item?id=46185947", "date": "2025-12-07"}], "tags": ["for cross-platform desktop apps", "for C++ developers", "for Windows desktop apps", "for KDE/Linux desktops"], "use_cases": ["cross-platform ui", "ui toolkit", "cross-platform ui toolkit", "ui framework", "gui toolkit", "building gui apps"], "compared": [{"slug": "wxwidgets", "name": "wxWidgets", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "gtk", "name": "GTK", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "slint", "name": "Slint", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "claude-code", "name": "Claude Code", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "avalonia", "name": "Avalonia", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "wpf", "name": "WPF", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "egui", "name": "egui", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "electron", "name": "Electron", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=48479008", "title": "The state of building user interfaces in Rust", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46185323", "title": "Iced 0.14 has been released (Rust GUI library)", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=50248055", "title": "Oldest GUI application that still runs on Windows 11", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50225695", "title": "We should be more ambitious with the software we build", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=50031653", "title": "Apple/macOS removed from official Unix registry", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49825642", "title": "Ideas on modernizing the open-source desktop", "mentions": 1}], "sentiment_by_month": {"2025-11": {"neutral": 1}, "2025-12": {"warn": 1, "recommend": 2, "neutral": 1}, "2026-01": {"warn": 1}, "2026-02": {"recommend": 1}, "2026-03": {"neutral": 1, "recommend": 2}, "2026-04": {"compare": 1}, "2026-05": {}, "2026-06": {"neutral": 1, "warn": 1, "recommend": 1}, "2026-07": {}, "2026-08": {"recommend": 2, "neutral": 1}, "2026-09": {"neutral": 1, "warn": 1}, "2026-10": {"warn": 2, "neutral": 1}}, "quotes": [{"id": 803995633, "item_id": 50249727, "url": "https://news.ycombinator.com/item?id=50249727", "by": "the__alchemist", "date": "2026-10-26", "stance": "neutral", "quote": "Substitute Qt", "excerpt": "I wouldn't, because I do not think we should put up barriers in our application between OSs (Nor have to maintain separate UI code bases for each OS you think might use it). So I use cross-platform kits. There are compromises, but I don't care about the looks native qualification compared to works anywhere. Yes, the software looks like an EGUI app (etc. Substitute Qt), instead of Looks native, but I appreciate how I'", "context": "", "use_case": "cross-platform UI", "switched_from": "", "story": "Oldest GUI application that still runs on Windows 11"}, {"id": 803850416, "item_id": 50240651, "url": "https://news.ycombinator.com/item?id=50240651", "by": "rfgplk", "date": "2026-10-26", "stance": "warn", "quote": "Doing the same in Qt is what... milliseconds?", "excerpt": "His approach is actually correct (well, aside from doing it in the browser). I wrote a custom, fully from scratch Vulkan UI rendering engine, works more or less exactly as described above. Crazy efficient and performant. Removing VSync I can hit ~100k fps on a dingy 4 year old GPU. For instance in benchmarking opening a window is a _sub microsecond action_. Doing the same in Qt is what... milliseconds? Literally? Als", "context": "wrote a custom Vulkan UI rendering engine", "use_case": "UI toolkit", "switched_from": "", "story": "We should be more ambitious with the software we build"}, {"id": 800515680, "item_id": 50032230, "url": "https://news.ycombinator.com/item?id=50032230", "by": "sdcfgy", "date": "2026-10-10", "stance": "warn", "quote": "I've had so many problems with stuff that uses Qt because Qt takes a while to catch up with things Apple broke inside their Cocoa internals.", "excerpt": "It's distinctly problematic there unfortunately. Particularly the moment you add any UI toolkits to it. I've had so many problems with stuff that uses Qt because Qt takes a while to catch up with things Apple broke inside their Cocoa internals. Very irritating platform to work on. Edit: love how I get downvoted for facts?! They literally broke Cocoa so it was throwing hopeless useless exceptions at the bottom of the ", "context": "", "use_case": "cross-platform UI toolkit", "switched_from": "", "story": "Apple/macOS removed from official Unix registry"}, {"id": 797244881, "item_id": 49827805, "url": "https://news.ycombinator.com/item?id=49827805", "by": "fschuett", "date": "2026-09-24", "stance": "warn", "quote": "There's just so much wrong with KDE and Qt, architecturally and visually", "excerpt": "The issue with KDE is not the \"UX\", the issue is the crashiness and jank, which is an issue of C++ and the OOP-ness of Qt, respectively and no amount of philosophizing will fix that. Users can excuse high memory usage, users can excuse low FPS, users cannot excuse jank and crashes. It is very hard to pin down the problems with Qt because on the one hand you can produce well-working UIs with QML if you are committed t", "context": "", "use_case": "UI framework", "switched_from": "", "story": "Ideas on modernizing the open-source desktop"}, {"id": 797199057, "item_id": 49824941, "url": "https://news.ycombinator.com/item?id=49824941", "by": "garciansmith", "date": "2026-09-24", "stance": "neutral", "quote": "I use KDE so there are a lot of Qt apps and they are all click-to-scroll in the scrollbar", "excerpt": "With regards to Qt, does that mean Qt apps on Windows or something? I use KDE so there are a lot of Qt apps and they are all click-to-scroll in the scrollbar. Of course it's KDE so it's configurable so you can change it to click-for-page-up/down and middle click to scroll, but left-click to scroll is the default.", "context": "KDE user", "use_case": "GUI toolkit", "switched_from": "", "story": "A brief history of Windows scroll bar shortcuts"}, {"id": 790173136, "item_id": 49385821, "url": "https://news.ycombinator.com/item?id=49385821", "by": "lelanthran", "date": "2026-08-21", "stance": "recommend", "quote": "My Qt and Lazarus apps aren't laggy at all", "excerpt": "> One thing I think which is overlooked is the raw feeling of speed a good TUI can give you. The lowest grade consumer laptop could probably download my little dictionary program and still get true search-on-keystroke performance, because there is virtually nothing slowing down that path, no animations, no nothing. Now most of that comes down to the data structures involved and making sure nothing ever has to go over", "context": "", "use_case": "building GUI apps", "switched_from": "", "story": "Stop Making TUIs"}, {"id": 789795504, "item_id": 49362219, "url": "https://news.ycombinator.com/item?id=49362219", "by": "dekhn", "date": "2026-08-19", "stance": "neutral", "quote": "In my case, I use Qt", "excerpt": "I write applications that run the same on all three main desktop platforms (typically): Mac, Windows, Linux. Writing an app for any single desktop platform is weird, unless the application uses some sort of specific functionality of that platform. In my case, I use Qt, but I've also written applications which had three UI drivers (X11/Win32/MacOS).", "context": "writes cross-platform desktop applications", "use_case": "cross-platform desktop apps", "switched_from": "", "story": "A 3D fruit fly on macOS desktop powered by the real FlyWire connectome"}, {"id": 788548769, "item_id": 49284298, "url": "https://news.ycombinator.com/item?id=49284298", "by": "GeneralMaximus", "date": "2026-08-13", "stance": "recommend", "quote": "there are basically only three options in 2026: Qt, Electron, or roll your own like Zed/Sublime.", "excerpt": "Why would you not? I use Ableton, Figma, and Emacs regularly. I have a decade (or more) of muscle memory around these apps. If they suddenly decided to adopt the look, feel, and conventions of their underlying host platform, I\u2019d be very upset. If I\u2019m using Emacs, I don\u2019t want to use Cmd+S to save my files on macOS and Ctrl+S on Windows. I\u2019ve already memorized C-x C-s. I don\u2019t want Ableton to adopt whatever new design", "context": "", "use_case": "long-lasting cross-platform apps", "switched_from": "", "story": "What's New in Flutter 3.47"}, {"id": 776350194, "item_id": 48521887, "url": "https://news.ycombinator.com/item?id=48521887", "by": "RustSupremacist", "date": "2026-06-13", "stance": "recommend", "quote": "Rust needs good Qt bindings.", "excerpt": "Rust needs good Qt bindings. None of the existing projects will ever reach Qt. Rust. Cargo. Qt. Go did it with https://github.com/mappu/miqt. Zig did it with https://github.com/rcalixte/libqt6zig. When will Rust do it? The time is now.", "context": "", "use_case": "GUI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 776265856, "item_id": 48516616, "url": "https://news.ycombinator.com/item?id=48516616", "by": "rjh29", "date": "2026-06-13", "stance": "warn", "quote": "it struck me as dated compared to Flutter or React Native", "excerpt": "As a \"batteries included\" framework Qt is undoubtably amazing but I used it on a project recently and it struck me as dated compared to Flutter or React Native. Maybe I'm doing it wrong but I had to write a lot of boilerplate C++ even when using QML. The layout engine feels byzantine. The state management is mostly manual. Flutter is a lot more consistent, reactive, and all done in one way (Dart) and it supports hot ", "context": "", "use_case": "recent project UI", "switched_from": "", "story": "The state of building user interfaces in Rust"}, {"id": 776091457, "item_id": 48505716, "url": "https://news.ycombinator.com/item?id=48505716", "by": "mywittyname", "date": "2026-06-12", "stance": "neutral", "quote": "working with Qt on a local app", "excerpt": "I've been doing this recently - working with Qt on a local app. I've had good luck providing a png \"design board\" with all of the template colors and having the first task be to build out a design gallery with all of the ui widget. Then have the design docs specify which component to use. Ensure that the documents specify to only use pre-existing components and have a list of each component and their intended use cas", "context": "", "use_case": "local desktop app", "switched_from": "", "story": "Slightly reducing the sloppiness of AI generated front end"}, {"id": 767042801, "item_id": 47940175, "url": "https://news.ycombinator.com/item?id=47940175", "by": "prewett", "date": "2026-04-28", "stance": "compare", "quote": "why he chose wxWidgets instead of Qt", "excerpt": "If the author is on, I'm curious why he chose wxWidgets instead of Qt; I'd be surprised if it is that much lighter weight than Qt. (I even wrote my own cross-platform toolkit with \"more lightweight\" as one of the reasons, and if you use all the features, it weighs in about the same size as Qt, I think.) Also, the last time I used wxWidgets, many years ago, it had a clunky MFC style to it, limited feature, along with ", "context": "", "use_case": "cross-platform GUI toolkit", "switched_from": "", "story": "I have officially retired from Emacs"}, {"id": 759680900, "item_id": 47480056, "url": "https://news.ycombinator.com/item?id=47480056", "by": "pjmlp", "date": "2026-03-22", "stance": "recommend", "quote": "Otherwise, Qt, VCL, Firemonkey, Avalonia, Uno, ImGUI,....", "excerpt": "Again, unless you have existing Windows 8/10 applications that were written against WinRT, UAP or UWP[0], that make use of WinUI 2.0, forget about touching anything related to WinUI 3.0 or WinAppSDK, stay away from the marketing. Exception being the few APIs that have been introduced in Win32 that instead of COM, actually depend on WinRT like the new MIDI 2.0 or Windows ML. Keep using Win32, MFC (yes it is in a bette", "context": "", "use_case": "cross-platform UI", "switched_from": "", "story": "Windows native app development is a mess"}, {"id": 759435428, "item_id": 47464714, "url": "https://news.ycombinator.com/item?id=47464714", "by": "pjmlp", "date": "2026-03-21", "stance": "recommend", "quote": "better use Win32, Forms, WPF, Avalonia, Qt,...", "excerpt": "People stop believing in anything related to WinUI coming from Microsoft marketing machine. Besides examples like this one. The amount of issues on Github across all WinUI related tools, keeps increasing all over the place, there is almost no visible activity, the community calls have been a disaster with Q&A being ignored, team rotation, whatever. Native AOT still cannot do what .NET Native did (there is a CsWinRT 3", "context": "", "use_case": "", "switched_from": "", "story": "Windows 11's Start menu was built using React \u2013 now switching to native WinUI"}, {"id": 756664530, "item_id": 47291533, "url": "https://news.ycombinator.com/item?id=47291533", "by": "colejhudson", "date": "2026-03-07", "stance": "recommend", "quote": "folks typically use a library. See Unreal Engine, raylib, godot, qt, etc.", "excerpt": "re, iteration: Have you encountered ImGui [0]? It's basically standard when prototyping any sort of graphical application. re, GUIs in statically typed languages: As you might expect, folks typically use a library. See Unreal Engine, raylib, godot, qt, etc. Sans that, any sort of 2D graphics library can get the job done with a little work. You might also take a look at SwiftUI if you have an Apple device. [0]: https:", "context": "", "use_case": "GUIs in statically typed languages", "switched_from": "", "story": "macOS code injection for fun and no profit (2024)"}, {"id": 755793041, "item_id": 47237065, "url": "https://news.ycombinator.com/item?id=47237065", "by": "giancarlostoro", "date": "2026-03-03", "stance": "neutral", "quote": "to build native apps via Qt and Rust", "excerpt": "I have been using Claude Code ironically enough to build native apps via Qt and Rust, the output is impressive. Might give writing an IRC client a shot and put it in GitHub.", "context": "", "use_case": "native app framework", "switched_from": "", "story": "Claude is an Electron App because we've lost native"}, {"id": 753040241, "item_id": 47065015, "url": "https://news.ycombinator.com/item?id=47065015", "by": "firemelt", "date": "2026-02-18", "stance": "recommend", "quote": "after that I always prefer qt over gtk", "excerpt": "first time I use plasma is when I installing rolling open suse I really enjoy it after that I always prefer qt over gtk", "context": "", "use_case": "", "switched_from": "", "story": "Plasma 6.6"}, {"id": 748260817, "item_id": 46766301, "url": "https://news.ycombinator.com/item?id=46766301", "by": "Shorel", "date": "2026-01-26", "stance": "warn", "quote": "QT has license issues", "excerpt": "At this point I wish that there was some native alternative to the Web-based everything. wxWidgets is oldschool, QT has license issues, GTK looks so-so except on Linux, TCL/TK looks ugly everywhere. In the modern world we need some GPU accelerated GUI library. Something like the one used in SublimeText. But with BSD or MIT license of course. That would be much more interesting for me.", "context": "", "use_case": "native GUI toolkit", "switched_from": "", "story": "Web-based image editor modeled after Deluxe Paint"}, {"id": 742697648, "item_id": 46418603, "url": "https://news.ycombinator.com/item?id=46418603", "by": "isodev", "date": "2025-12-29", "stance": "recommend", "quote": "I love the Qt ecosystem.", "excerpt": "This is brilliant work and I love the Qt ecosystem. Can\u2019t help but imagine the things we could\u2019ve had if Apple wasn\u2019t pushing the horror of Swift down everyone\u2019s throat by blocking alternatives in so many tiny ways.", "context": "", "use_case": "", "switched_from": "", "story": "Developing a Beautiful and Performant Block Editor in Qt C++ and QML"}, {"id": 739462464, "item_id": 46216404, "url": "https://news.ycombinator.com/item?id=46216404", "by": "kevmuhuri", "date": "2025-12-10", "stance": "neutral", "quote": "He stated it's ok on macOS but not suitable for iOS.", "excerpt": "Talked to a dev 5 years ago who switched from Qt. He stated it's ok on macOS but not suitable for iOS. https://x.com/kevmuhuri/status/1275488020414808066 This indie dev (uses Qt) shows the process for updating icons to the latest UI refresh https://successfulsoftware.net/2025/09/26/updating-application-icons-for-macos-26-tahoe-and-liquid-glass/", "context": "", "use_case": "cross-platform app development", "switched_from": "", "story": "Qt, Linux and everything: Debugging Qt WebAssembly"}, {"id": 738975154, "item_id": 46185947, "url": "https://news.ycombinator.com/item?id=46185947", "by": "lazypenguin", "date": "2025-12-07", "stance": "recommend", "quote": "one of the most successful desktop gui toolkit of all times (Qt Widgets)", "excerpt": "I think the Rust community is sleeping on the potential of iced for traditional desktop gui. I monitor the gui space in Rust closely and have seen many toolkits come and go. In my opinion a desktop gui library/framework needs to solve two things to be useful: architecture and advanced widgets. egui has served me well and is eagerly recommended in \"what gui should I use\" threads since it solves the widget problem well", "context": "monitors the Rust GUI space closely", "use_case": "advanced desktop GUIs", "switched_from": "", "story": "Iced 0.14 has been released (Rust GUI library)"}, {"id": 738972033, "item_id": 46185752, "url": "https://news.ycombinator.com/item?id=46185752", "by": "wonklebonkle", "date": "2025-12-07", "stance": "warn", "quote": "In Qt you write your display layer in QML then your UI logic in Javascript and any backend advanced logic in C++. It is frankly exhausting.", "excerpt": "Iced is a wonderful dead-simple framework. I hope it forever maintains the simplicity which combines nicely with Rust\u2019s features. One thing I love about Iced and miss in Qt is writing the software in a single language. Qt has chosen to introduce multiple languages into their framework which makes the entire codebase a huge learning curve. In Qt you write your display layer in QML then your UI logic in Javascript and ", "context": "", "use_case": "GUI development", "switched_from": "", "story": "Iced 0.14 has been released (Rust GUI library)"}, {"id": 736522640, "item_id": 46032665, "url": "https://news.ycombinator.com/item?id=46032665", "by": "Kelteseth", "date": "2025-11-24", "stance": "neutral", "quote": "We are using it for our apps, but I can see why people do not use it for new projects", "excerpt": "We are using it for our apps, but I can see why people do not use it for new projects: 1. The state of C++ is not great. Few developers, C++ footguns, complicated build systems, and generally slow progress, see my https://arewemodulesyet.org/ 2. How Qt presents and licenses itself. Either you go LGPL or you have to pay big money for a commercial license, which will then infect all other apps as well. For example, whe", "context": "", "use_case": "native desktop apps", "switched_from": "", "story": "Build desktop applications using Go and Web Technologies"}]}