qt 组件添加避坑

始:项目要和web交互,搜索到可以用QWebEngineView,包含头文件

#include <QWebEngineView>	

    QWebEngineView*view = new QWebEngineView(parent);

	view->load(QUrl("http://qt-project.org/"));

	view->show();

过程:

1.开发环境为vs2017+qt5.9.0 ,编译提示缺少指定模块。

2.在vs的项目属性->qt project setting里的 qt module 追加webengine;webenginewidgets模块,编译提示缺少指定模块。

坑1:网上搜索,发现有教程通过MaintenanceTool.exe来添加qt模块,遇到要什么存储库的问题,然后搜索相关的教程添加了默认存储库,进入组件添加或移除界面,结果没找到。以为是存储库的问题,换了qt自身的存储库 https://download.qt.io/online/qtsdkrepository/windows_x86/root/qt/ 结果也不行。
坑2:想到模块不就是头文件加相应的dll吗,而且看到下载的目录里有qtwebengine-opensource-src-5.9.0.zip,打算自己动手丰衣足食,搜到确实有不少文章介绍如何编译qt扩展库,linux编译看起来挺方便的,编译环境用到的许多依赖可以通过 apt命令直接获取,windows就惨了(意外发现python可以通过windows的应用商店安装),编译构造各种报错。
3.想到webengine是5.4以后的版本才有,而我用到的是5.9,那么安装包也许包含所需要的组件,默认安装时可能没有勾选导致模块没有安装,那么不如重新安装,看看是否可以在安装中直接勾选需要的组件。

3.1想到此,用MaintenanceTool把qt卸载了,在官网重新下了个qt-opensource-windows-x86-5.9.0.exe安装包---5G的网速秒下,呵呵。

3.2执行安装,在隐藏的其他组件选择列表中,果然发现了webengine,果断勾选(还有除webengine以外的一些插件)。安装完成。重新编译项目工程,构建成功。
结:条条道路通罗马,别把简单的问题复杂化。换个思路也许就好了。
注:由于使用了新的组件,重新打包qt环境,可以使用cmd命令 cd 生成的程序目录里+ windeployqt 程序名 

猜你喜欢

转载自blog.csdn.net/glc22/article/details/124171514
今日推荐