Я не могу использовать 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.