使用no-angle和-no-opengl编译Qt时会发生什么?

时间:2017-02-27 13:09:14

标签: c++ qt opengl

最近我尝试使用-no-angle-no-opengl编译我的Qt静态库。我首先想到它不会编译。但出乎意料的是,Qt(5.7)编译得很好。我也可以编译我的应用程序(使用许多QtWidgets)。

令我惊讶的是,我发现基于角度的Qt应用程序没有任何区别。没有滞后,没有故障,我的QtCharts一如既往地展示。

我在网上找不到任何确定的答案。但我有两个猜测:

  • 毕竟我并没有真正使用任何硬件加速。
  • 有一种神秘的后备机制。

这里发生了什么?

1 个答案:

答案 0 :(得分:7)

会发生什么?在你的情况下没有。 Qt小部件不会在你背后使用OpenGL。您必须使用QOpenGlWidget作为顶级窗口小部件,在给定的窗口小部件堆栈中显式强制使用它。默认情况下,您使用基于CPU的光栅渲染后端 - 正如您所指出的,它表现得非常好。

如果你不使用OpenGL,编译没有角度和OpenGL支持的Qt是一个让你的应用程序变小的好方法:)