将QML插件包含到项目中

时间:2018-08-27 13:51:20

标签: qt qml

我有一个QML插件项目和我的应用程序项目以及subdirs项目,其组织方式如下:

project.pro
plugin/
    plugin.pro
    Plugin.cpp
    Plugin.h
    qmldir
app/
    app.pro
    main.cpp
    main.qml
    qml.qrc

project.pro

TEMPLATE = subdirs

SUBDIRS = app plugin
app.depends = plugin

plugin.pro

TEMPLATE = lib
QT += qml quick
CONFIG += plugin c++11

TARGET = $$qtLibraryTarget(plugin)
PLUGIN_URI = com.test.plugin

SOURCES += Plugin.cpp
HEADERS += Plugin.h

app.pro

QT += qml quick

SOURCES += main.cpp
RESOURCES += qml.qrc

它的构建符合预期,现在我需要将路径传递到已编译的libplugin.dylib / .so / .dllqmldir到我的应用程序。我看到两种方式:

  1. 使用INSTALL qmake变量将插件文件复制到/path/to/qt/5.10.1/clang_64/qml/com/test/plugin/。

  2. 将插件文件复制到应用程序可执行文件附近,并使用QQmlEngine::addImportPath()将此路径相对于可执行文件添加。

哪种方法会更好?怎么做?

0 个答案:

没有答案