qml qt 5.12 с использованием модулей controls1 и controls2 в одной программе - PullRequest
0 голосов
/ 22 января 2019

Я не могу использовать QtQuick.Controls 1.2 и QtQuick.Controls 2.12 в одной программе. Хотя в Qt 5.10 это сработало. Теперь я получаю это сообщение при загрузке main.qml: "qrc: /MyButton.qml 2 модуль QtQuick.Controls 2.12 не установлен"

Qt 5.12. Сборка на macOS для ios или ios emulator.

pro file

QT += quick quickcontrols2
CONFIG += c++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += \
        main.cpp
RESOURCES += qml.qrc
QML_IMPORT_PATH =
QML_DESIGNER_IMPORT_PATH =
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

main.qml

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 1.2
Window {
    visible: true
    Button {
        id: button1
        text: "Controls 1 button"
        anchors.centerIn: parent
    }
    MyButton {
        text: "Controls 2 button"
        anchors {
            top: button1.bottom
            horizontalCenter: parent.horizontalCenter
        }
    }
}

MyButton.qml

import QtQuick 2.9
import QtQuick.Controls 2.12
Button {
}

main.cpp

#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    if (engine.rootObjects().isEmpty())
        return -1;
    return app.exec();
}

qml.qrc

<RCC>
    <qresource prefix="/">
        <file>main.qml</file>
        <file>MyButton.qml</file>
    </qresource>
</RCC>

Возможно, существуют некоторые ограничения или правила, которые необходимо соблюдать, чтобы заставить его работать? Если используется только Constools 1.2 или только Constols 2.12, main.qml успешно загружен.

p.s. Сборка на windows для windows и сборка на windows для android работает нормально. Проблема только со сборкой на Mac OS для эмулятора ios / ios.

...