2016-05-19 10 views
1

私が取り組んでいるプロジェクトは、Q4/5/5.6の環境で開発されるかもしれません。ウェブキットに関連する変更(javascriptインターフェイス経由でGoogleマップを表示するために使用されています)。#QtWebKit(Qt4)またはQtWebKitWidgets(Qt <5.6)またはQtWebEngineWidgets(Qt> = 5.6)

私が実行してプロジェクトファイルに正しいモジュールをLAODするために管理:

greaterThan(QT_MAJOR_VERSION, 4) { 
    greaterThan(QT_MINOR_VERSION, 5) { 
     message("Qt5.6") 
     QT += widgets webenginewidgets #include <QtWebEngineWidgets> for Qt5.6 in map.cpp 
    } else { 
     message("Qt5") 
     QT += widgets webkitwidgets #include <QtWebKitWidgets> for Qt5 in map.cpp 
    } 
} else { 
    message("Qt4") 
    QT += webkit #include <QtWebKit> for Qt4 in map.cpp 
} 

問題は、各モジュールが異なる#includeを持っていることである。

#include QtWebKit   // for Qt4 
#include QtWebKitWidgets // for Qt5 lower then 5.6 
#include QtWebEngineWidgets // for Qt5.6 

は、コードの移植を行うことが可能ですどのように実行する必要があります#includeを発見することができますか?

答えて

1

あなたは

#include <QtGlobal> 

#if (QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)) 
#include <QtWebEngineWidgets> 
#elif (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) 
#include <QtWebKitWidgets> 
#else 
... 
#endif 
のようなものを使用することができます
関連する問題