Qt5 was released in 2012. All of my LCL/Lazarus projects from that time open in modern straight-out-of-git Lazarus just fine. I'm pretty sure 99.9% of my LCL/Lazarus projects from 2005 (when Qt4 was released) also work out of the box, with the exception of those that tried to use strings as byte buffers (fixing this is a quick search and replace) since the datatype changed (this was a compiler/language change though, not a framework one). Retaining backwards compatibility is very important for LCL/Lazarus.
That said Qt has been better than other frameworks when it comes to backwards compatibility, after all you can use the Qt5 docs for Qt6 code and vice versa and things work 95% of the time. Actually i was working on some Krita plugin recently and i only had the Qt6 docs around but i never encountered any issue with what i was using.
AFAICT Krita's issue is mainly on the lower end of things and how they integrate with their custom OpenGL code.
MFC is slightly better, and MFC sucks (at least on MSVC 6.0 era)
WxWidgets was one of the best/easiest OSS ones.
The best library hands down was the one used by Borland C++ Builder (Windows only), VCL.
QT felt like going around in circles and a bit like those "useless superpower" charts, GTK like nobody had invented C++ yet.
You can't drag and drop widgets in the hierarchy view, which sucks when a container has a width/height of zero because it has no widgets inside of them yet.
It's not terrible, but it could be better.
I can't be the only one feels this is weird, right? Like, you have a team who can create an entire IDE, even rendering widgets and dragging them around, but somehow things like organizing a context menu in submenus and making the designer intuitive is too hard. And this is a consistent theme in every one of these apps. The things that should be the hardest to program are programmed, the easiest to implement quality-of-life improvements are lacking. GPU-accelerated video transitions in a timeline based video editor? Easy peasy. A status bar that actually displays statuses? Absolutely impossible to implement.