QML学习总结
扫描二维码
随时随地手机看文章
之前的大侠们,写过好多关于QML方面的专业知识,各种语法的介绍等等,为我的开发也提供了很大的帮助,虽然到现在我还是不明了Qt与QML之间真正的界限,所伸展的领域。但是从完全不懂到现在,虽然学得慢,但是一步一步最终也是对QML有一定的基础了。上周刚把一个月的通讯软终端界面开发完成,对自己也是相当满意,哈哈,,,回想自己刚开始那段时间,没有书,看着Qt自带的英文文档,网上相关的知识也是不多,一点一点的摸索,简直慢到让自己崩溃,可还是熬了过来,站在现在的位置看过去:我还是不够努力!没有加班,没有熬夜(熬夜也不是学习)实习实在过得太过安逸了。马上毕业,加之生活压力,我要开始最后抓两把了,向大神们学习,开始奋斗ing...
废话好多,其实还没说完,哈哈,生活中我可不是这样的话唠,想让我多说两句,还的看心情!
说说我所了解的QML吧,几个月的小经验,哈哈,大神就不用费眼了,,,从学习,开发到现在所用到的QML控件应该是有:button,listView,tabview,text,image,scrollBar,MouseArea,TextInput,rectangle,layout,fileDialog,textField,还有一些自定义的组件吧,貌似就这么多吧,忽然觉得自己玩的好少,但是确实做出了一个通讯终端出来,界面的一些显示,之间的信号连接,数据交互,界面跳转等等,那些曾经很为难我的问题确实遇到了不少,开发笔记都写了两本了,只是一直没有时间,没有心思去整理,留着让儿孙们看吧,哈哈
虽然遇到的问题挺多但是一时还真不知道想说那个,那我就想到那个讲讲我自己使用的体会吧,如果看到有错的,请一定要指正啊
1. 从main中讲起,使用QML难免会用到,或者说必不可少吧,要用类,那么类的导入我所使用的有两种方式
一种是使用qmlRegisterType注册类型,然后导入使用,这种方式可以直接看成是rectangle使用,一模一样,只是在本文件中使用操作它的ID等,在其他文件想要进行信号连接,数据访问,实在难办,有知道的嘛?请指点指点啊,如果想实现多个文件之间数据交互,信号连接,我就会使用第二种方式,那就是setContextProperty注册成上下文属性,在那都能访问。看懂了吗,还是我表达不清晰
2. 之前出了一个错误,使用Layout时,循环绑定了!百思不得其姐啊,我拿到的窗口大小就是有两种,最大,最小;就使用minW/H, maxW/H 就会告诉我循环绑定的错误但是界面显示却是好好的,很符合我的要求就是下面编译会报错,一直不想理会,后来仔细看看Layout才知道,学的太差了,自己太傻了,只需要设置preferredHeight和fillHeight就行了,效果一样而且还不会报错。
3. 所有问题中我觉得最纠缠的还是listView的数据model,与C++结合起来,哎呀,简直弄得我想跳海了,用过QStringList简单的数据显示,后来多字段的时候逼急了,高了好半天使用QList
4. 除了listView的大问题外,就是布局的问题了,位置甚至都是拿笔计算的,连贴的背景图大小都算过,最大的感觉就是繁琐,调整一点点,可能就会进行一次大改动,还得一个一个数值,或是属性设置试试看效果,烦透顶啊。
一口气写了这么不多,就开始饿了,呵呵,看着这么像是发牢骚呢,第一次写博客还是希望各位路过的手下留情啊