带有 OpenGL 上下文的基于 Qt 的命令行工具
Posted
技术标签:
【中文标题】带有 OpenGL 上下文的基于 Qt 的命令行工具【英文标题】:Qt based Command Line Tool with OpenGL Context 【发布时间】:2013-12-03 22:47:12 【问题描述】:是否可以在不创建任何窗口系统(例如 QWindow)的情况下使用 Qt 创建 OpenGL 上下文?
我想编写一个使用 OpenGL 和 Qt 5.1 的命令行工具,我目前使用 QOpenGLContext 和 QWindow 创建一个上下文。我没有打开窗口,但应用程序仍然在 OS X 的 Dock 中打开。
【问题讨论】:
【参考方案1】:在没有 GUI 的情况下使用 Qt
Qt 可以在没有 GUI 的情况下使用。要创建一个显示没有QWindow
的OpenGL 窗口的窗口,您需要将.pro
文件更改为不包含gui 模块,然后告诉它包含控制台。
QT -= gui # Only the core module is used.
CONFIG += console
How do I create a simple Qt console application in C++?
当你从 Qt Creator 调试时,你可能需要进入 Project > Run 并告诉它Run in Terminal
,否则它可能只存在于应用程序输出区域。
http://qt-project.org/doc/qt-5.1/qmake/qmake-project-files.html#declaring-qt-libraries
您可能需要找到其他一些窗口框架来展示您的 opengl 优点。根据您查看的示例,有时他们使用 glut 或 opencv。
我不确定 opengl 库与 QWindow 和其他 QtGUI 或 QtWidgets 内部的联系有多紧密。如果在您移除 Qt GUI 后它们没有加载,您可能需要从另一个库中获取 opengl。
LIBS += -lopengl #or some other things to use the library from somewhere else
希望对您有所帮助。
【讨论】:
以上是关于带有 OpenGL 上下文的基于 Qt 的命令行工具的主要内容,如果未能解决你的问题,请参考以下文章
带有 OpenGL 的 Qt MDI 应用程序:如何获取有效的屏幕截图?