我是第一次创建qtquick应用程序。我使用QtCreator 3.0,Qt5.2.0和MSVC2012。 当我写下面的代码时,我收到了错误消息。我理解它的内容。但是如果可能的话,我想使用QtQuick 2.0而不是1.0。
有谁知道如何修复错误? 任何帮助,将不胜感激。提前谢谢。
示例代码
[ main.qml
import QtQuick 2.0
import QtQuick.Controls 1.1
ApplicationWindow {
width: 360
height: 360
menuBar:MenuBar {
Menu {
title: "File"
MenuItem { text: "Open..." }
MenuItem { text: "Close" }
}
Menu {
title: "Edit"
MenuItem { text: "Cut" }
MenuItem { text: "Copy" }
MenuItem { text: "Paste" }
}
}
Text {
text: qsTr("Hello World")
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: {
Qt.quit();
}
}
}
[的main.cpp
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/QtQuickAppTest/main.qml"));
viewer.showExpanded();
return app.exec();
}
错误消息
QQuickView only supports loading of root objects that derive from QQuickItem.
If your example is using QML 2, (such as qmlscene) and the .qml file you
loaded has 'import QtQuick 1.0' or 'import Qt 4.7', this error will occur.
To load files with 'import QtQuick 1.0' or 'import Qt 4.7', use the
QDeclarativeView class in the Qt Quick 1 module.
答案 0 :(得分:2)
您需要使用选项“Qt Quick Control 1.0”生成Qt Quick Application项目,而不是“Qt Quick 2.0”。它将生成QtQuick2ControlsApplicationViewer
类,该类不使用QQuickView
,而只使用QQmlComponent
。