QtQuick学习笔记(一)漫谈
2015-09-14 13:21
295 查看
我知道QtQuick是2014年Qt开发者大会上。
忘了是几月,反正是5.2还是5.3发布的时候。
已经是QtQuick2,QtQuickControl才刚刚开始。
但是当时我们的项目还在用widget加qss来做界面。
看到QtQuick,就一直想尝试。无奈,一直没有新项目有机会去用。
后来又去做了js的项目。
到现在,终于可以开始学习并使用QtQuick了,很高兴,QtQuick也一直在发展。
说起来,可能我个人的经历的原因——我的职业生涯是从WPF开始的——所以学习很多新技术,我都会不自觉拿来跟WPF去做类比。这样确实能帮我快速的学习或者理解一门新技术。不得不说,微软在软件方面,还是非常有前瞻性,也许是他的领导力。我不缺定MVVM这种架构是不是微软发明的,但我想一定是他发扬光大的。
把界面和后台逻辑分离,这种模式一定是将来发展的趋势。
QtQuick这个理念,在我看来跟WPF是差不多的,但比起来又有一些优点。QML比起XAML有更大的灵活性,可以直接在QML里写程序逻辑,而不用非跑到C++里去。同时QtQuick又提供了非常方便的方式让QML使用C++的类和方法,来对QML进行扩展。
就我个人而言,非常对胃口。
这样的好处是,UI修改的成本非常之低。
写逻辑的人只要设计好vm(viewModel),就可以了,完全不用考虑UI的问题。
写UI的人只要根据需求把该显示的显示出来就可以了,也完全不用考虑数据是应该从哪来,反正是一个vm传给我。
而且用qml这种脚本语言,写起界面来更加的直观和高效。
其实如果写UI,最令人讨厌的就是调布局,我一开始使用QWidget的时候,最头疼的也是这个,感觉自适应能力不如我之前用的WPF。但是QtQuick提供了一些比较舒服的布局方式,调起来比起之前的qwidget要好很多。
再就是控件的定制上,也很方便,只需要在qml里写好相应的动作,定义好相关的信号就可以了。Qt官方已经封装好的control,也提供了修改样式的可能。
也许qml这种脚本语言对于C++的程序员,需要一种思维上的转变,但我觉得这个事情还是值得一学。
脚本语言肯定是未来语言发展的趋势,尤其作为UI开发语言,开发效率更高,更灵活。
总之,感谢Qt给了我们这样优秀的框架,帮助我们去快速开发,将注意力更多的放在真正的业务逻辑上。
忘了是几月,反正是5.2还是5.3发布的时候。
已经是QtQuick2,QtQuickControl才刚刚开始。
但是当时我们的项目还在用widget加qss来做界面。
看到QtQuick,就一直想尝试。无奈,一直没有新项目有机会去用。
后来又去做了js的项目。
到现在,终于可以开始学习并使用QtQuick了,很高兴,QtQuick也一直在发展。
说起来,可能我个人的经历的原因——我的职业生涯是从WPF开始的——所以学习很多新技术,我都会不自觉拿来跟WPF去做类比。这样确实能帮我快速的学习或者理解一门新技术。不得不说,微软在软件方面,还是非常有前瞻性,也许是他的领导力。我不缺定MVVM这种架构是不是微软发明的,但我想一定是他发扬光大的。
把界面和后台逻辑分离,这种模式一定是将来发展的趋势。
QtQuick这个理念,在我看来跟WPF是差不多的,但比起来又有一些优点。QML比起XAML有更大的灵活性,可以直接在QML里写程序逻辑,而不用非跑到C++里去。同时QtQuick又提供了非常方便的方式让QML使用C++的类和方法,来对QML进行扩展。
就我个人而言,非常对胃口。
这样的好处是,UI修改的成本非常之低。
写逻辑的人只要设计好vm(viewModel),就可以了,完全不用考虑UI的问题。
写UI的人只要根据需求把该显示的显示出来就可以了,也完全不用考虑数据是应该从哪来,反正是一个vm传给我。
而且用qml这种脚本语言,写起界面来更加的直观和高效。
其实如果写UI,最令人讨厌的就是调布局,我一开始使用QWidget的时候,最头疼的也是这个,感觉自适应能力不如我之前用的WPF。但是QtQuick提供了一些比较舒服的布局方式,调起来比起之前的qwidget要好很多。
再就是控件的定制上,也很方便,只需要在qml里写好相应的动作,定义好相关的信号就可以了。Qt官方已经封装好的control,也提供了修改样式的可能。
也许qml这种脚本语言对于C++的程序员,需要一种思维上的转变,但我觉得这个事情还是值得一学。
脚本语言肯定是未来语言发展的趋势,尤其作为UI开发语言,开发效率更高,更灵活。
总之,感谢Qt给了我们这样优秀的框架,帮助我们去快速开发,将注意力更多的放在真正的业务逻辑上。
相关文章推荐
- 经典iOS应用UI架构
- iOS中十六进制的颜色转换为UIColor
- STL 之 stack&queue&priority_queue 栈,队列与优先队列
- Android UI 之 Tab类型界面总结
- UICollectionViewCell 多选知识点更新
- JAVA的String、StringBuilder和StringBuffer类的区别
- UITabBarControler解决旋转问题
- UITableView和侧滑返回冲突问题
- HDOJ 4424 Conquer a New Region
- 看unix高级编程(第三版)时遇到apue.h找不到的问题
- erl_stack_queue-队列求迷宫最短路径
- HiWork发布1.6.0版本——调整UI布局,新增消息搜索等多项功能
- erl_stack_queue-利用栈实现迷宫的求解
- How-to: write own Kafka Partitioner based on requirement
- Unix环境高级编程开篇-"apue.h"配置
- qt使用uic命令将后缀名为.ui的文件输出成.h文件方法
- UITextField使用总结
- UITableView+FDTemplateLayoutCell源码学习笔记
- js1:根据标签的Id获取value值
- iOS UI基础-6.0 UIActionSheet的使用