I've been using QT for a while now and I've been wondering about something regarding the way the GUI is painted in Windows.
Is it really painting all the buttons, edit boxes, combo-boxes, check-boxes, tabs etc' on its own using QPainter or is it somehow using the native widgets?
The fact that it can do custom styling and skinning suggests that it does in fact draw everything using QPainter but how can this kind of code possible be maintained? Did the QT developers really reverse-engineer the entire functionality of the windowing system? isn't that somewhat wasteful?
Another evidence to this is that if I'm using Spy++ on a QT gui then all the windows are showing with a class name equal to "QWidget". If it were using the native widgets shouldn't these be "BUTTON", "STATIC" etc'?
What about on other platforms? Is it doing the same in Max OSX as well?