现在的位置: 首页 > 综合 > 正文

QT学习8:网络相关

2018年04月18日 ⁄ 综合 ⁄ 共 892字 ⁄ 字号 评论关闭

1.使用QNetworkAccessManager来发送HTTP请求,使用QNetworkReply 来接受http请求结果

参考:    http://blog.csdn.net/chenlong12580/article/details/7391622

2.在项目发现QNetworkAccessManager是异步的,程序运行起来效果不大好,网上找到一个代码技巧可以使发送请求变为同步,方法就是建立一个循环,在发送请求后立即运行这个循环代码loop.exec(),让程序卡在这个循环,直到请求结束后返回了结果,才退出循环loop.quit()

QNetworkReply *reply = _manager->post(QNetworkRequest(QUrl(SERVER_URL)), data);

QByteArray responseData;

QEventLoop eventLoop;

connect(_manager, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));

eventLoop.exec();       //block until finish

responseData = reply->readAll();

以上代码来自:

qt同步方式进行http请求     http://coolex.info/blog/196.html

3.

用qt的webview加载html的时候,显示不出来,或者只显示了html代码,没有渲染html

然后用记事本保存为ANSI格式,qt编辑html时选择ISO-8859-1 / latin1 编码,同时   Qt Creator -> 工具 -> 选项 -> 环境 -> 语言  选择 chinese

才能正常加载html,不知道是我机子问题还是确实是编码问题

更多qt编码问题参考:

Qt 编码设置   http://blog.csdn.net/leo115/article/details/7533463

4.让qt开始https支持

参考: http://blog.csdn.net/itjobtxq/article/details/8244509

抱歉!评论已关闭.