问题
将Qt开发的程序从Qt5.5或更低的版本迁移到5.6或更高的版本时,会提示webkitwidgets是unknown module。
Project ERROR: Unknown module(s) in QT: webkitwidgets
原因
根据Qt官方的解释(在Qt的帮助文档里也可以看到),在5.6版本以及之后的版本,Qt已经移除了webkitwidgets模块,并用一个新的模块webenginewidgets替代之。
Qt5.5.1是最后一个支持webkitwidgets的版本。
解决
Qt给出了向高版本迁移的文档:Porting from Qt WebKit to Qt WebEngine
在.pro文件中,如果要区分不同的Qt版本,可以这么写:
lessThan(QT_VERSION, 0x050600)
{
QT += webkitwidgets
# do something else
}
greaterThan(QT_VERSION, 0x050500)
{
QT += webenginewidgets
# do something else
}