Qt:QML 比 C++ 小部件快吗?

Qt: Is QML faster than c++ widget?

是做一个qwidget然后重新实现它的paint函数还是做一个qml widget然后把它当成qwidget来考虑性能?

取决于您所说的 "faster" 和 "performance" 是什么意思。 QML 提供了更好的帧率,因为它使用了一个渲染器,可以最大限度地减少昂贵的上下文切换。但与此同时,QML 的实例化速度要慢得多,并且使用的内存要多得多。尽管您可以将 QML 代码编译为 C++,但目前在 "free" 版本中不可用,仅在 "professional" 和 "enterprise" 许可证中可用。

但开发时间也要考虑,很多人认为它是最膨胀的资源,这样做是对的。当您需要带有动画、效果等的自定义 UI 元素时,与 QtWidgets 相比,使用 QML 的 UI 实施起来要快得多。对于标准的小部件和桌面应用程序,您可以使用设计器,这使得 QtWidgets 在这方面可以与 QML 相媲美。