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

Posted

技术标签:

【中文标题】Qt 使用 no-angle 和 -no-opengl 编译时会发生啥?【英文标题】:What happens when Qt is compiled with no-angle and -no-opengl?Qt 使用 no-angle 和 -no-opengl 编译时会发生什么? 【发布时间】:2017-02-27 13:09:14 【问题描述】:

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

令我惊讶的是,我看不出与我基于 Angle 的 Qt 应用程序有任何区别。没有滞后,没有故障,我的 QtCharts 一如既往地显示。

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

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

这是怎么回事?

【问题讨论】:

【参考方案1】:

会发生什么?在你的情况下,什么都没有。 Qt 小部件不会在您背后使用 OpenGL。您必须通过使用QOpenGlWidget 作为***小部件来明确强制它在给定的小部件堆栈中使用。默认情况下,您使用的是基于 CPU 的光栅渲染后端 - 正如您所指出的,它的性能非常好。

如果您不使用 OpenGL,编译不带角度和 OpenGL 支持的 Qt 是缩小应用程序的好方法:)

【讨论】:

以上是关于Qt 使用 no-angle 和 -no-opengl 编译时会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Qt 和 Qt 与 Visual Studio 2008 集成的环境安装说明

qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用

Qt OpenGL模块和Qt/3D有啥区别

如何使用 Macports 包管理器删除 libexec/qt4 和 libexec/qt5?

rspec 和 capybara 带有关于使用 4.8.2 的 QT 警告,但安装了 qt5

安装/使用 Ruby 2.x 和 Qt 5