我正在尝试为 qmake 导入
QtQuick.Studio.Controls
。
无论我尝试什么,我都会收到此错误:
QQmlApplicationEngine failed to load component
module "QtQuick.Studio.Controls" is not installed
我通过
Qt Quick-Application (compat)
创建项目,并希望与设计师工作室和 QtCreator 一起使用它。
研究了两天,还是没有想出如何解决这个问题。我在文档中也找不到任何内容。
当我使用 DesignerStudio(带有 cmake)或 QtCreator(不是 compat 和 cmake)创建项目时,一切都适合导入,并且可以正常工作,没有任何问题。 不过,我正在寻找 qmake 的解决方案。
有谁知道解决这个问题的方法吗?
我已经尝试了所有包含的内容(并将它们留在 .pro 中以进行概述)
.pro
QT += quick quickcontrols2 qml uitools widgets gui core
SOURCES += \
main.cpp
resources.files = main.qml
resources.prefix = /$${TARGET}
RESOURCES += resources
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Additional import path used to resolve QML modules just for Qt Quick Designer
QML_DESIGNER_IMPORT_PATH =
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
main.cpp
#include <QGuiApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
const QUrl url(QStringLiteral("qrc:/ProteinTracker/main.qml"));
QObject::connect(&engine, &QQmlApplicationEngine::objectCreated,
&app, [url](QObject *obj, const QUrl &objUrl) {
if (!obj && url == objUrl)
QCoreApplication::exit(-1);
}, Qt::QueuedConnection);
engine.load(url);
return app.exec();
}
main.qml
import QtQuick 6.5
import QtQuick.Studio.Controls
Window {
width: 640
height: 480
visible: true
title: qsTr("Hello World")
ArcItem {
id: arcItem
width: 100
height: 100
fillColor: "#00000000"
}
}
在文档中搜索。 询问 ChatGPT
QtQuick.Studio.Components
不是正常 Qt 安装的一部分。这些组件随 Qt Design Studio 使用的套件一起提供。 QtDS 基本上带有自己的 Qt 以及预先打包的组件。这就是为什么使用提供的套件从 QtDS 内部导入时不会出现任何错误。
如果您想在自定义 Qt 或从维护工具安装的 Qt 中使用
QtQuick.Studio.Components
,您需要通过编译以下存储库、构建并安装它来将 QtQuick.Studio.Components
添加到该 Qt。
https://github.com/qt-labs/qtquickdesigner-components
您可以在 README.md 中找到说明。
mkdir qtquickdesigner-components-build
cd qtquickdesigner-components-build/
cmake -GNinja -DCMAKE_INSTALL_PREFIX=~user/Qt/6.5.4/gcc_64/ ../qtquickdesigner-components
cmake --build .
cmake --install .