背景
本来是准备采用VS+Qt插件的方式来开发Qt的,但是学习过程中发现,这种模式照旧没有直接用Qt Creator 开发来的方便,插件这种模式坑多,功能不完善。
不过在直接使用Qt Creator的时候也踩坑了:
(最后发现,Qt Creator 和 VS+qt插件 的两种方式可以混用。 vs 也可以直接打开qt的cmake工程。 也就是可以结合两者的优势!)
中文路径
之前,我使用VS+qt插件的方式的时候,根本没碰到不能是中文路径的题目。结果这里如果选择
MinGW作为编译器,居然不支持中文路径。如果有中文路径直接报错:
- Error while building\deploying project OpenGL456 (kit:-1: Desktop Qt 6.7.2 MinGW 64-bit)
复制代码 怎么,这年初支持个中文这么难吗?QT 还能不能好好玩耍了?
不过如果选择编译器 MSVC2019,这个构建没有报错了!也就是说,使用MSVC2019这个编译器能支持中文路径!
CMake
使用 QOpenGLWidget 空间,必要手动在CMake 中添加相应的库
- find_package(Qt6 REQUIRED COMPONENTS OpenGLWidgets)
- target_link_libraries(OpenGL789 PRIVATE Qt6::OpenGLWidgets)
复制代码 多继续
添加这句后编译报错!链接时找不到这个函数:setPolygonMode。
- void MyOpenGLWidget::setPolygonMode(bool isWire)
- {
- makeCurrent();
- if (isWire)
- {
- glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
- }
- else
- {
- glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
- }
- doneCurrent();
- update();
- }
复制代码
原因时自定义的GLWidget类要举行多继续,还需继续:QOpenGLFunctions_3_3_Core
find_package(Qt6 REQUIRED COMPONENTS OpenGLWidgets)
find_package(Qt6 REQUIRED COMPONENTS Gui)
find_package(Qt6 REQUIRED COMPONENTS OpenGL)
target_link_libraries(OpenGL789 PRIVATE Qt6::OpenGLWidgets)
target_link_libraries(OpenGL789 PRIVATE Qt6::Gui)
target_link_libraries(OpenGL789 PRIVATE Qt6::OpenGL)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |