問題
將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
}