我对在没有 OpenGL 支持的情况下编译 QT 5.2.1 有点不确定。我一直认为想要处理图形的应用程序需要 OpenGL,但是当我阅读文档时,也讨论了桌面上的 2D 功能。如果我不打算使用任何图形,只是想使用 QT 的窗口框架,我还需要桌面支持吗? 不知何故,允许它作为必需的可选组件是没有意义的,但我真的不知道它是否是必需的,因为我不知道此支持将用于什么。
所以首要问题是,如果我只想实现一个使用窗口和小部件的常规桌面应用程序,我不需要使用 OpenGL 支持进行编译,对吗?
到目前为止,我已经使用 wxWidgets 作为我的跨平台库,并且从未需要接触 OpenGL,因此我会以同样的方式使用 QT。
最佳答案
if I just want to implement a regular desktop application which uses windows and widgets, I don't need to compile with OpenGL support, right?
我认为答案是肯定的;尽管在应用程序级别,例如 this thread特别指出,从 Qt 5 开始,将图形子系统设置为光栅 -graphicssystem raster
已被弃用,您可以 set the window's surface type到RasterSurface
,它允许使用光栅进行渲染,而无需使用QBackingStore
(非OpenGL绘图上下文)的OpenGL支持; its API doc证实了这一点。 QWindow
's documentation还介绍了这一点。
If I don't plan to use any graphics and just want to make use of the windowing framework of QT, do I still need that desktop suport?
是的,如果您需要QML and Qt5's QtQuick 2 render or QtGui which exclusively use OpenGL是Qt图形系统的核心部分。不,如果你可以在没有这些的情况下做到这一点。这个Qt 5 Raster Window sample正是这样做的;您可以注意到项目文件中没有提及 OpenGL。
关于c++ - 窗口需要 QT OpenGL for Desktop 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22631634/