Qt 从QWebKitWidgets迁移到QWebEngineWidgets,项目文件同时支持

Qt 从QWebKitWidgets迁移到QWebEngineWidgets,项目文件同时支持,qt,qtwebkit,qtwebengine,Qt,Qtwebkit,Qtwebengine,我目前正在向我的旧应用程序添加对QWebEngineWidgets的支持,但我不想失去QWebKitWidgets。因为在一些嵌入式平台上,qt版本仍然是5.3。我想知道我自己提出的以下解决方案是否正确,也欢迎更好的解决方案 equals(QT_MAJOR_VERSION, 5) { lessThan(QT_MINOR_VERSION, 5) { QT += webkitwidgets } greaterThan(QT_MINOR_VERSION, 4)

我目前正在向我的旧应用程序添加对QWebEngineWidgets的支持,但我不想失去QWebKitWidgets。因为在一些嵌入式平台上,qt版本仍然是5.3。我想知道我自己提出的以下解决方案是否正确,也欢迎更好的解决方案

equals(QT_MAJOR_VERSION, 5) {
    lessThan(QT_MINOR_VERSION, 5) {
        QT += webkitwidgets
    }
    greaterThan(QT_MINOR_VERSION, 4) {
        QT += webenginewidgets
    }
}
您也可以对备选分支使用“else”,例如

lessThan(QT_MINOR_VERSION, 5) {
} else {
}
甚至可以专门检查模块的可用性

qtHaveModule(webengine) {
}

或者,你可以考虑使用新版本的SWOW,我以前没有见过这个版本。webkit是webengine无法替代的东西。您几乎可以使用webkit逐个解析html标记。我希望它能在这个项目中移植回qt。是否可以将else与qtHaveModule块一起使用,以及cpp源代码中是否有与此宏相关的代码。e、 我们可以用的东西,如果可以,你可以用另一个。我不确定是否有标准定义,但您可以在
.pro
文件中设置自己的定义,例如:
defines+=HAVE_WEBENGINE
,然后在代码中检查它:
\ifdef HAVE_WEBENGINE