Подтвердить что ты не робот

{Qt5.0.2/QML/QtQuick2.0/С++} Примеры Проекты, которые запускаются без ошибок?

Моя настройка Qt5.0.2 MinGW 32-bit.

Я ищу примеры проектов { Qt5.0.2 / QML / QtQuick2.0 / C++ } кода проекта (не Qt Quick 1.0), которые имеют действительные классы С++ или по крайней мере a main.cpp.

Я пробежал по сети, просмотрел все примеры, которые я мог найти:

но они были либо старыми (Qt Quick 1.0), либо чистым QML + QtQuick 2.0 или вообще не компилировались; или если они могут компилироваться, они показали мне пустые диалоги (например, "Status Shout!" в примерах кода Nokia).

Любые советы будут высоко оценены.

4b9b3361

Ответ 1

На QML на самом деле не так много подробных ресурсов, большая часть доступных - это просто примеры коротких фрагментов и примеры документации. Это проблема для людей, которые новичок в программировании, потому что такие материалы действительно не дают представления о том, как собрать что-то полезное на практике.

Это справедливо, тем более, что для QtQuick2, который является совершенно новым, и даже документация и многие официальные примеры все еще неполны. И я знаю по опыту, как разочарование заключается в том, чтобы следовать учебнику, набирать все, ожидать, что он работает, и получить что-то неожиданное, не зная, что действительно пошло не так, и как его исправить.

Таким образом, есть несколько примеров полных, хотя и тривиальных игр, которые реализованы в QtQuick1. Это не так уж и важно, поскольку элементы QtQuick2 имеют обратную совместимость, и код будет работать с QtQuick2 практически без изменений.

Официальные примеры, иногда избитые или неполные, также могут помочь, плюс они, скорее всего, скоро будут исправлены (это время):

И последнее, но не менее важное: фрагменты QML с веб-сайта проекта Qt wiki:

EDIT: добавить еще один хороший ресурс для изучения QML: http://qmlbook.org

Ответ 2

Достаточно минимальный пример:

main.cpp

#include <QGuiApplication>
#include <QQuickView>

int main(int argc, char** argv)
{
    QGuiApplication app(argc, argv);
    QQuickView view;
    view.resize(800, 480);
    view.setResizeMode(QQuickView::SizeRootObjectToView);
    view.setSource(QUrl("qrc:///foo.qml"));
    view.show();
    return app.exec();
}

foo.qml(здесь в комплекте как ресурс):

import QtQuick 2.0

Rectangle {
    color: "lightsteelblue"

    Text {
        anchors.centerIn: parent
        text: "Hello"
    }
}