Description
When Qt / Qt WebEngine is deployed alongside an application, following elements are needed:
Libraries
- QtWebEngineCore library
- either QtWebEngineWidgets or QtWebEngine libraries, depending on the integration used
QML Imports
If the Qt Quick integration is used, the "QtWebEngine" import needs to be copied.
QtWebEngineProcess
The QtWebEngineProcess executable needs to be shipped. It is looked up under the following locations (in that order)
- QTWEBENGINEPROCESS_PATH environment variable
- OS X: X.app/Helpers/QtWebEngineProcess
- QLibraryInfo::location(QLibraryInfo::LibraryExecutablesPath)
- QCoreApplication::applicationDirPath()
Resources
Qt WebEngine requires resource files. This includes several .pak files, and icudtl.dat (unless it was configured to use system ICU):
- icudtl.dat
- qtwebengine_resources.pak
- qtwebengine_resources_100p.pak
- qtwebengine_resources_200p.pak
If one should be able to remotely debug the application, qtwebengine_devtools_resources.pak needs to be deployed too.
Resources are looked up under getResourcesPath(frameworkBundle()) (usually .app/Resources) on OS X. On other platforms it's
- QLibraryInfo::location(QLibraryInfo::DataPath) + "/resources"
- QLibraryInfo::location(QLibraryInfo::DataPath)
- QCoreApplication::applicationDirPath()
- QDir::homePath() % QLatin1String("/.") % QCoreApplication::applicationName()
(Actually I'm not sure whether we should mention any of these, except he first one).
Translations
Locale data (e.g. en-US.pak) are looked up under OS X in getResourcesPath(frameworkBundle()) +"/qtwebengine_locales".
On other platforms it's
- QLibraryInfo::location(QLibraryInfo::TranslationsPath) +"qtwebengine_locales"
- QCoreApplication::applicationDirPath() + "qtwebengine_locales"
- QDir::homePath() + "/." + QCoreApplication::applicationName()
(again, I'd probably only mention the first one)