qt for android
来源:互联网 发布:mac虚拟机软件 编辑:程序博客网 时间:2024/05/16 10:57
一直想动手试试qml,正好公司有个企业app是苹果的,我穷屌丝,买不起,后台我做的,我知道接口,就来个android的,qml以前只是看过,没有动手做东西。这是个练手的机会。
先来几幅图片看看效果
这是在我的ZTE红牛手机上运行的效果,android4.3。
这个小的app程序使用qml和js,文件操作使用了很少的C++来完成。
qml类似与html语言,在写界面时,其可以直白的来描述界面元素,很是方便。js的灵活性是业务逻辑写起来很顺手。
在这个过程中,我第一次写这个,不灵活,本来为了代码的可维护行,我想将js代码独立出来,可是发现这个有点麻烦,js需要操作界面元素,然后我只能独立出来逻辑,然后用js回调函数来实现。比如网络操作:
.pragma libraryfunction post(url_, data_, root, fun_, fun_1) { var xml_http_request = new XMLHttpRequest(); xml_http_request.onreadystatechange = function() { if (xml_http_request.readyState === 4 && xml_http_request.status === 200) { timer.stop() fun_(xml_http_request.responseText); } } xml_http_request.open("POST", url_, true); xml_http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //xml_http_request.timeout = 3000 //xml_http_request.ontimeout = fun_1 var timer = Qt.createQmlObject("import QtQuick 2.3; Timer {interval: 10000; repeat: false; running: true;}",root,"MyTimer"); timer.triggered.connect(function(){ console.log("close") xml_http_request.abort(); fun_1(); }); xml_http_request.send(data_);}
qt中的js不支持timeout,所以使用了定时器,为了处理响应和超时,传了两个函数进来。
不过这个体验很好,qml+js。
qml定制控件很方便,比如上图中的按钮和类似与ios上的选择的那个(day or hour)都是定制的,还有提示网络操作正在进行的,很简单就实现了想要的效果。
0 1
- qt for android
- Qt for android安装
- Qt for android安装
- Qt for android
- Qt for Android
- qt for android
- Qt for android
- qt for android
- qt for android
- Qt for Android
- Qt For Android搭建
- Qt for Android
- Qt For Android
- Qt for Android(转)
- qt for android
- Qt For Android
- qt for android
- qt for android
- 容易理解博文---适配
- 自定义控件---继承ViewGroup类方式(循序渐进之第2步效果----图片左右拖动+自动回弹效果)
- 3月初的日记:网站工作记录
- HDU 1823 二维线段树
- The partial sum problem
- qt for android
- Castle学习系列(三)---ActiveRecord生命周期
- 欢迎使用CSDN-markdown编辑器
- CCLablTTF 给文字加阴影效果
- leetcode 3Sum
- 数据库操作--创建索引
- Java中ConcurrentHashMap学习
- python学习之魔法方法的调用
- Servlet是线程安全的吗?