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插件如何共存与使用
如何使用 Macports 包管理器删除 libexec/qt4 和 libexec/qt5?