Qt
A289672082
这个作者很懒,什么都没留下…
展开
-
Qt多线程 信号和槽以及C++11的绑定 及QMetaObject::invokeMethod
用C++11绑定信号和槽,能使代码可读性更高,灵活性更强测试界面:#include <functional>#include <MyThread.h>class MyWindow : public QWidget{ Q_OBJECTpublic: typedef std::function<void(bool checked)> fuc1; MyWindow(QWid原创 2016-05-15 16:40:55 · 8611 阅读 · 0 评论 -
Qt Post get
QNetworkAccessManager来发送请求,QNetworkRequest 设置HTTP报文,QNetworkReply 接收请求结果服务器端 PHP代码:<?php //接收post参数‘a’ 并把它返回给客户端$test = $_POST['a']; echo $test; ?>post请求方式1:使用QNetworkAccessManager::finished信号接收结原创 2016-07-09 15:00:23 · 2245 阅读 · 0 评论 -
JAVA学习(15)Vs2015+eclipse编译Qt动态库模块
Qt安卓库使用的gunstl动态库。首先用Qt的IDE生成一次安卓项目,拿到他打包的so文件!后面有用用vs2015开发NDK,不需要编写mk文件!如下:设置为STL动态链接,因为Qt库本身是动态STL,如果你用静态,那个叫浪费内存。动态静态一起用很浪费。 设置Qt头文件目录:(Qt安卓只有arm-V7版本 不碍事) 我的代码中只用了QDebug和QString两个类。因此需要加入这两个原创 2016-05-29 23:50:14 · 1638 阅读 · 0 评论 -
Qt5.6 安卓下的WebView实现JavaScript通信
另一只更好的实现方式点此Qt官方的Webview仅仅在Qtquick中支持安卓和ios,安卓的官方实现是调用安卓系统自带的浏览器API,但是Qt官方没有写js交互,于是研究了一通宵得出几个解决方案:1.使用Qt官方的QML webview和HTML5的Websockt,在js中使用websockt,在qt qucik中使用websocket服务器,结果可行,可惜安卓很多版本不支持Websockt,于原创 2016-05-20 23:16:11 · 5216 阅读 · 2 评论 -
Qml && Qt HTML Base64
Qt HTTP服务器会自动把BASE64编码中的+号删除掉,捣鼓了几个钟头,只需要加一个参数即可了。加密参数设置:Base64UrlEncoding标志QString TQmlHelper::add64(QVariant data){ QString a = data.toByteArray().toBase64(QByteArray::Base64UrlEncoding |原创 2016-06-19 17:28:06 · 2838 阅读 · 0 评论 -
安卓/平台QtQuick+socket.io+C++搭建聊天系统
流程有些复杂,QML不支持调用很多常见的js引擎,我们可以利用webview来达到。不过在使用socket.io,发现必须要在安卓4.4版本或更高才行,这个不是安卓的问题,是最新版的Qt没有优化老版本的WebView,唉。开发流程图:从发送到回调: QML -> WEBVIEW中的socke.io -> node.js服务器 ->WEBVIEW -> (标注)C++ -> QML标注:由原创 2016-06-12 23:03:10 · 2878 阅读 · 0 评论 -
Qt安卓JNI交互之(1) C++注册函数给JAVA调用
网络上根本没人说这么个玩意,不需要对应安卓类名直接注册的机制。因为Qt中无法用JNI_OnLoad,因此我说的这个东西很重要。Qt中的新类:QtAndtoid提供了在JAVA UI线程环境中执行C++代码的功能:runOnAndroidThreadSync示例:JAVA中按返回键通知QT OnESCdown函数将由C++注册给java调用 public native void OnESCdown原创 2016-06-14 23:29:43 · 3968 阅读 · 0 评论 -
Qt安卓JNI交互之(2) C++调用JAVA对象的动态方法(1)
JAVA中的StringString是一个类,在JAVA中非常常用,和C++交互也很常用.QT封装了他,只需要调用:QAndroidJniObject::fromString("字符串");返回一个String对象,使用的时候JNI识别jstring,需要强制转换:对象.object<jstring>()); 转换成jstringQtAndroid::androidActivity()原创 2016-06-27 19:21:18 · 4057 阅读 · 1 评论 -
Qt WebView js交互(new) 支持ios android 平台
原理是 界面中 new Qt HTTP服务器, HTML端用JavaScript XMLHttpRequest发送请求给C++(可包含参数 参数中使用字符串用来表示,函数可以用HTTP 子域开表示,),C++根据传入的字符串,调用Qt元函数,或者封装入Qt quick中,调用eval.推荐用Qt quick封装,因为更方便,他里面封装好了ios 和 android的Webview 返回值由C+原创 2016-05-22 20:35:34 · 2701 阅读 · 0 评论 -
QDataStream序列化
C字符串 char* str = "一二三"; QByteArray data; QDataStream dt(&data, QIODevice::ReadWrite); dt << str; QDataStream In(&data, QIODevice::ReadWrite);...原创 2018-02-08 15:33:08 · 1862 阅读 · 0 评论