{Qt5.0.2 / QML / QtQuick2.0 / C ++}示例运行没有错误的项目?

时间:2013-04-17 19:50:37

标签: c++ qt qml sample

我的设置是 Qt5.0.2 MinGW 32位

我正在寻找具有实际C ++类或至少{ Qt5.0.2 / QML / QtQuick2.0 / C++ }的{​​{1}}代码项目示例(不是Qt Quick 1.0)。

我浏览了网页,浏览了我可能找到的所有示例:

但它们要么是旧的( Qt Quick 1.0 ),要么是纯粹的 QML + QtQuick 2.0 ,或者根本没有编译;或者如果他们可以编译,他们会向我显示空对话框(例如,诺基亚代码示例中的“ Status Shout!”)。

任何建议都将受到高度赞赏。

2 个答案:

答案 0 :(得分:15)

QML上并没有那么详细的资源,大多数可用的只是简短的代码示例和文档示例。对于刚接触编程的人来说,这是一个问题,因为这些材料并不能真实地说明如何将实际上有用的东西组合在一起。

对于QtQuick2来说更是如此,这是全新的,甚至文档和许多官方示例仍然不完整。我从经验中知道,遵循教程是多么令人沮丧,输入所有内容,期望它能够工作,并获得意想不到的东西,不知道出了什么问题以及如何解决它。

话虽如此,有一些完整的,尽管是微不足道的游戏,在QtQuick1中实现。这不是一个大问题,因为QtQuick2元素是向后兼容的,并且代码可以与QtQuick2一起使用,几乎没有任何修改。

官方的例子,虽然偶尔会被破坏或不完整,但也可以提供帮助,而且很快就会得到修复(关于时间):

最后但并非最不重要的是,来自Qt项目网站wiki的QML片段:

编辑:为学习QML添加另一个好资源:http://qmlbook.org

答案 1 :(得分: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"
    }
}