2015-09-04 116 views
2

我使用Qt 5.5.0 MSVC 2013,32位。
我想創建最小的QtQuick應用程序。當我選擇New Project - Qt Quick Application我得到了2個QML文件的項目:main.qmlMainForm.ui.qml。因爲我不需要他們,我刪除第二個和粘貼以下至main.qml矩形作爲QML中的根元素

Import QtQuick 2.4 

Rectangle{ 
    id: root 
    visible: true 
    color: "gray" 
    width: 400 
    height: 800 
} 

但是當我運行項目,我什麼也沒得到。我在任務管理器看到應用程序,但沒有應用程序窗口。
問題:是否可以使用Rectangle創建.qml文件作爲根元素?

+0

答:是的,這是可能的。閱讀Qt文檔並從一些基本示例開始。 –

+0

我相信你會需要一個窗口。 –

+1

這是一個很好的機會,這是一個重複.. – Mitch

回答

3

Solution在官方Qt論壇發現。

創建Qt Quick的應用模板添加QQmlApplicationEngine啓動QML。但QQmlApplicationEngine直接不工作,矩形項目作爲根元素,但需要像窗口ApplicationWindow任何窗口。 因此,使其工作矩形使用QQuickView而不是QQmlApplicationEngine

我改變的main.cpp的內容

#include <QGuiApplication> 
#include <QQuickView> 

int main(int argc, char *argv[]) 
{ 
    QGuiApplication app(argc, argv); 

    QQuickView *view = new QQuickView; 
    view->setSource(QUrl("qrc:/main.qml")); 

    view->show(); 

    return app.exec(); 
} 

,它解決了我的問題。