QT declarative UI 初探(二)

说明一下,我的操作系统是win7 64位。

接上文,两个疑惑让我很郁闷,有种云深不知处的感觉。于是继续翻阅文档,经过几番查询,我只好确定qml.exe就是文档中所提到的qmlviewer。对于第二个疑问,继续学习。

首先,读到这样一段文档(位置QtDeclarative Module):

To include the definitions of the module’s classes, use the following directive:

 #include 

To link against the module, add this line to your qmake .pro file:

 QT += declarative

For more information on the Qt Declarative module, see the Declarative UI documentation.

然后,经过我不懈的努力,在examples/declarative/objectlistmodel 这个示例中找到了线索:

objectlistmodel的pro文件如下(省略无关内容):

TEMPLATE = app
TARGET = objectlistmodel
QT += declarative

# Input
SOURCES += main.cpp \
           dataobject.cpp
HEADERS += dataobject.h
RESOURCES += objectlistmodel.qrc

objectlistmodel的main.cpp文件:

#include

#include
#include
#include
#include
#include

#include “dataobject.h”

/*
   This example illustrates exposing a QList as a
   model in QML
*/

int main(int argc, char ** argv)
{
    QApplication app(argc, argv);

    QDeclarativeView view;

    QList dataList;
    dataList.append(new DataObject(“Item 1″, “red”));
    dataList.append(new DataObject(“Item 2″, “green”));
    dataList.append(new DataObject(“Item 3″, “blue”));
    dataList.append(new DataObject(“Item 4″, “yellow”));

    QDeclarativeContext *ctxt = view.rootContext();
    ctxt->setContextProperty(“myModel”, QVariant::fromValue(dataList));

    view.setSource(QUrl(“qrc:view.qml”));
    view.show();

    return app.exec();
}

看到了吧,原来是用QDeclarativeView这个东东来装载ui的。。。

哈哈,于是我们可以自己来写一个app,把demos/declarative/twitter这个demo给编译成一个exe文件了。

下面是我的main中的代码:

 QApplication a(argc, argv);

    QDeclarativeView vi;
    vi.setSource(QUrl(“twitter.qml”));
    vi.setResizeMode(QDeclarativeView::SizeRootObjectToView);
    vi.show();
    return a.exec();

ok,第一步我们终于迈出了。下面我们就可以开始慢慢享受qml的滋味了。。。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22785983/viewspace-662977/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22785983/viewspace-662977/

为了使更多的Qt初学者能尽快入门Qt,也为了QtQt Creator的快速普及,我们花费大量精力写出了这一系列教程。虽然教程的知识可能很浅显,虽然教程的语言可能不规范,但是它却被数十万网友所认可。我们会将这一系列教程一直写下去,它将涉及Qt的方方面面 一、Qt Creator的安装和hello world程序的编写 Qt Creator编写多窗口程序 三、Qt Creator登录对话框 四、Qt Creator添加菜单图标 五、Qt Creator布局管理器的使用 六、Qt Creator实现文本编辑 七、Qt Creator实现文本查找 八、Qt Creator实现状态栏显示 九、Qt Creator中鼠标键盘事件的处理实现自定义鼠标指针 十、Qt Creator中实现定时器和产生随机数 十一、Qt 2D绘图(一)绘制简单图形 十Qt 2D绘图()渐变填充 十三、Qt 2D绘图(三)绘制文字 十四、Qt 2D绘图(四)绘制路径 十五、Qt 2D绘图(五)显示图片 十六、Qt 2D绘图(六)坐标系统 十七、Qt 2D绘图(七)Qt坐标系统深入 十八、Qt 2D绘图(八)涂鸦板 十九、Qt 2D绘图(九)双缓冲绘图简介 十、Qt 2D绘图(十)图形视图框架简介 十一、Qt数据库(一)简介 Qt数据库()添加MySQL数据库驱动插件 十三、Qt数据库(三)利用QSqlQuery类执行SQL语句(一) 十四、Qt数据库(四)利用QSqlQuery类执行SQL语句(十五、Qt数据库(五)QSqlQueryModel 十六、Qt数据库(六)QSqlTableModel 十七、Qt数据库(七)QSqlRelationalTableModel 十八、Qt数据库(八)XML(一) 十九、Qt数据库(九)XML() 三十、Qt数据库(十)XML(三) 三十一、Qt 4.7.0及Qt Creator 2.0 beta版安装全程图解 三十、第一个Qt Quick程序(QML程序) 三十三、体验QML演示程序 三十四、Qt Quick Designer介绍 三十五、QML组件 三十六、QML项目之Image和BorderImage 三十七、Flipable、Flickable和状态与动画 三十八、QML视图 三十九、QtDeclarative模块 四十、使用Nokia Qt SDK开发Symbian和Maemo终端软件 四十一、Qt网络(一)简介 四十Qt网络()HTTP编程 四十三、Qt网络(三)FTP(一) 四十四、Qt网络(四)FTP() 四十五、Qt网络(五)获取本机网络信息 四十六、Qt网络(六)UDP 四十七、Qt网络(七)TCP(一) 四十八、Qt网络(八)TCP(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值