我已经使用QT有一段时间了,一直在思考关于Windows中GUI绘制方式的问题。它是真的使用QPainter来绘制所有按钮、编辑框、组合框、复选框、标签等吗?还是它以某种方式使用本地小部件?
它能够进行自定义样式和皮肤设计这一事实表明,它确实使用QPainter绘制所有东西,但这种代码如何可能得以维护?Qt开发者真的反向工程了整个窗口系统的功能吗?这不是有些浪费吗?
另一个证据是,如果我在Qt GUI上使用Spy++,那么所有的窗口都会显示为“QWidget”类名。如果它使用本地小部件,这些应该是“BUTTON”,“STATIC”等吧?
其他平台上呢?在Max OSX上是否也是这样做的呢?
它能够进行自定义样式和皮肤设计这一事实表明,它确实使用QPainter绘制所有东西,但这种代码如何可能得以维护?Qt开发者真的反向工程了整个窗口系统的功能吗?这不是有些浪费吗?
另一个证据是,如果我在Qt GUI上使用Spy++,那么所有的窗口都会显示为“QWidget”类名。如果它使用本地小部件,这些应该是“BUTTON”,“STATIC”等吧?
其他平台上呢?在Max OSX上是否也是这样做的呢?