【发布时间】:2015-10-01 20:31:04
【问题描述】:
我想使用Rectangle 元素在 Qt 5.2.1(msvc2012) 中创建一个 Qt Quick Application 项目。
这是我的main.qml:
import QtQuick 2.0
Rectangle {
width: 100
height: 100
color: "red"
}
当我运行这个项目时,构建从未完成,我看不到任何应用程序窗口。 应用程序输出停留在:
QML 调试已启用。只能在安全的环境中使用。
这是我的main.cpp:
#include <QApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:///main.qml")));
return app.exec();
}
这是我的专业档案:
TEMPLATE = app
QT += qml quick widgets
SOURCES += main.cpp
RESOURCES += qml.qrc
# Additional import path used to resolve QML modules in Qt Creator's code model
QML_IMPORT_PATH =
# Default rules for deployment.
include(deployment.pri)
这是我的 deployment.pri:
android-no-sdk {
target.path = /data/user/qt
export(target.path)
INSTALLS += target
} else:android {
x86 {
target.path = /libs/x86
} else: armeabi-v7a {
target.path = /libs/armeabi-v7a
} else {
target.path = /libs/armeabi
}
export(target.path)
INSTALLS += target
} else:unix {
isEmpty(target.path) {
qnx {
target.path = /tmp/$${TARGET}/bin
} else {
target.path = /opt/$${TARGET}/bin
}
export(target.path)
}
INSTALLS += target
}
export(INSTALLS)
这是编译输出:
22:21:25:项目 521msvc20123 的运行步骤... 22:21:25: 配置不变,跳过 qmake 步骤。 22:21:25:开始: "C:\qtcreator-3.1.0\bin\jom.exe" C:\qtcreator-3.1.0\bin\jom.exe -f Makefile.Debug C:\QtDva\5.2.1\msvc2012\bin\rcc.exe -name qml ..\521msvc20123\qml.qrc -o 调试\qrc_qml.cpp cl -c -nologo -Zm200 -Zc:wchar_t -Zi -MDd -GR -W3 -w34100 -w34189 -EHsc /Fddebug\521msvc20123.pdb -DUNICODE -DWIN32 -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_QUICK_LIB -DQT_QML_LIB -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_OPENGL_ES_2 -DQT_OPENGL_ES_2_ANGLE -I"........\QtDva\5.2.1\msvc2012\ .\QtDva\5.2.1\msvc2012\include\QtQuick" -I"........\QtDva\5.2.1\msvc2012\include\QtQml" -I"........\ QtDva\5.2.1\msvc2012\include\QtWidgets" -I"........\QtDva\5.2.1\msvc2012\include\QtNetwork" -I"........\QtDva\ 5.2.1\msvc2012\include\QtGui" -I"........\QtDva\5.2.1\msvc2012\include\QtANGLE" -I"........\QtDva\5.2. 1\msvc2012\include\QtCore"-I"调试"-I"。" -I"........\QtDva\5.2.1\msvc2012\mkspecs\win32-msvc2012" -Fodebug\ @C:\Users\Vladimir\AppData\Local\Temp\qrc_qml.obj.7128.454.jom qrc_qml.cpp echo 1 /* CREATEPROCESS_MANIFEST_RESOURCE_ID / 24 / RT_MANIFEST / "调试\521msvc20123.exe.embed.manifest">调试\521msvc20123.exe_manifest.rc 如果不存在 debug\521msvc20123.exe 如果存在 调试\521msvc20123.exe.embed.manifest del 调试\521msvc20123.exe.embed.manifest(如果存在) 调试\521msvc20123.exe.embed.manifest 复制 /Y 调试\521msvc20123.exe.embed.manifest 调试\521msvc20123.exe_manifest.bak 已复制 1 个文件。链接 /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' 名称='Microsoft.Windows.Common-Controls' 版本='6.0.0.0' publicKeyToken='6595b64144ccf1df' 语言='' 处理器架构=''" /MANIFEST /MANIFESTFILE:debug\521msvc20123.exe.embed.manifest /OUT:调试\521msvc20123.exe @C:\Users\Vladimir\AppData\Local\Temp\521msvc20123.exe.7128.2875.jom 如果存在 debug\521msvc20123.exe_manifest.bak fc /b 调试\521msvc20123.exe.embed.manifest 调试\521msvc20123.exe_manifest.bak >NUL ||德尔 debug\521msvc20123.exe_manifest.bak 如果不存在 调试\521msvc20123.exe_manifest.bak rc.exe /fodebug\521msvc20123.exe_manifest.res debug\521msvc20123.exe_manifest.rc 如果不存在 调试\521msvc20123.exe_manifest.bak 链接 /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' 名称='Microsoft.Windows.Common-Controls' 版本='6.0.0.0' publicKeyToken='6595b64144ccf1df' 语言='' 处理器架构='*'" /清单 /MANIFESTFILE:debug\521msvc20123.exe.embed.manifest /OUT:调试\521msvc20123.exe @C:\Users\Vladimir\AppData\Local\Temp\521msvc20123.exe.7128.2891.jom 如果存在 debug\521msvc20123.exe_manifest.bak del debug\521msvc20123.exe_manifest.bak 22:21:32: 进程 “C:\qtcreator-3.1.0\bin\jom.exe”正常退出。 22:21:32:已过 时间:00:08。
可能是什么问题?
Qt QQmlApplicationEngine refuse to display qml code 与 Rectangle 元素无关,它与 ApplicationWindow 元素中缺少的可见属性有关。
【问题讨论】: