导语

从这一节开始我们讲述Qt网络应用方面的编程知识。在开始这部分知识的学习之前,大家最好已经拥有了一定的网络知识和Qt的编程基础。在后面的教程中我们不会对一个常用的网络名词进行详细的解释,对于不太了解的地方,大家可以参考相关书籍。

不过,大家也没有必要非得先去学习网络专业知识,而后再学习本部分内容,因为Qt提供了简单明了的接口函数,使得这里并不需要了解太多专业的知识。看完教程后,你也许会发现,自己虽然不懂网络,但却可以编写网络应用程序了。

环境:Windows Xp + Qt 4.8.5+Qt Creator 2.8.0

目录

  • 一、了解Qt中的网络编程
  • 二、查看网络部分的例子

正文

一、了解Qt中的网络编程

1.首先我们打开Qt Creator,进入帮助模式,然后在索引中查找:Network Programming关键字。这里详细介绍了Qt中网络编程的相关内容。如下图所示。

Qt提供了QtNetwork模块来进行网络编程。该模块提供了诸如QFtp等类来实现特定的应用层协议;有较低层次的类,例如QTcpSocketQTcpServerQUdpSocket等来表示低层的网络概念;还有高层次的类,例如QNetworkRequestQNetworkReplyQNetworkAccessManager使用相同的协议来执行网络操作;也提供了QNetworkConfigurationQNetworkConfigurationManagerQNetworkSession等类来实现负载管理。

2.在文档的后面提供了Qt中用于网络编程的类的列表。如下图所示。

3.如果大家以前就使用过Qt进行网络部分编程,或者看过其他教材上相关内容,你可能会问,这里怎么没有了QHttp类。我们现在搜索QHttp关键字,其内容如下。

可以看到这里有一个警告:

This class is obsolete. It is provided to keep old source code working. We strongly advise against using it in new code.

大概意思是:这个类是过时的。它的提供只是为了保证旧的源代码。我们强烈建议在新代码中不要使用它。

所以在我们的教程中不会再讲解这个类,对于HTTP部分的编程,我们使用QNetworkAccessManager类和QNetworkReply类 。

二、查看网络部分的例子

对于网络编程部分的例子,可以通过Qt自带的演示程序查看。就是开始菜单中Qt安装目录下Example and demos程序,网络编程例子在Networking分类中。如下图所示。

进入Networking分类,如下图所示。

最后要说明的是:如果要使用QtNetwork模块中的类,需要在项目文件中添加QT+= network一行代码。

结语

后面的教程中我们将对Qt网络编程部分的知识点分别进行讲解,对Qt中网络编程内容有了初步了解以后,我们就开始下一步的学习吧。

【Qt入门第31篇】 网络(一)Qt网络编程简介相关推荐

  1. 【Qt入门第1篇】 基础(一)Qt开发环境的搭建和hello world

    导语 从这一篇我们正式开始Qt编程.本篇主要讲解Qt编程环境的搭建.为了适应大多数读者的需要,同时为了避免系统环境的不同而产生不必要的问题,这里选择使用Windows系统的Qt版本.因为在前面几十篇中 ...

  2. 【Qt入门第36篇】 网络(六)UDP

    导语 这一节讲述UDP编程的知识.UDP(UserDatagram Protocol即用户数据报协议)是一个轻量级的,不可靠的,面向数据报的无连接协议.对于UDP我们不再进行过多介绍,如果你对UDP不 ...

  3. 【Qt入门第34篇】 网络(四)FTP(二)

    导语 前面讲述了一个最简单的FTP客户端程序的编写,这一节我们将这个程序进行扩展,使其可以浏览并能下载服务器上的所有文件. 环境:Windows Xp + Qt 4.8.5+QtCreator 2.8 ...

  4. 【Qt入门第4篇】 基础(四)添加菜单图标——使用Qt资源文件

    导语 后面几篇里我们将介绍常用的Qt主窗口部件QMainWindow,主窗口部件就是一般的应用程序主窗口,它包含了菜单栏.工具栏.中心部件.状态栏和可停靠部件等.这一篇将着重介绍菜单的实现以及使用资源 ...

  5. 【Qt入门第23篇】 数据库(三)利用QSqlQuery类执行SQL语句

    导语 SQL即结构化查询语言,是关系数据库的标准语言.前面两节中已经在Qt里利用QSqlQuery类执行了SQL语句,这一节我们将详细讲解该类的使用.需要说明,因为我们重在讲解Qt中的数据库使用,而非 ...

  6. 【Qt入门第13篇】 2D绘图(三)绘制文字

    导语 Qt中除了绘制图形以外,还可以使用QPainter::darwText()函数来绘制文字,也可以使用QPainter::setFont()设置文字所使用的字体,使用QPainter::fontI ...

  7. 【Qt入门第17篇】 2D绘图(七)涂鸦板

    导语 通过前面几节的学习,大家应该已经对Qt中2D绘图有了一定的认识,这一节我们将应用前面讲到的内容,编写一个简单的涂鸦板程序,这一节只是实现最基本的鼠标画线功能. 环境:Windows Xp + Q ...

  8. 【Qt入门第11篇】 2D绘图(一)绘制简单图形

    导语 Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕和绘图设备上进行绘制,它主要基于QPainter.QPaintDevice和QPaintEngine这三个类.其中QPainter用来执 ...

  9. 嵌入式学习之Qt入门第七篇

    恩恩,终于看对版本了~ 感觉代码看的差不多了,今天把代码里面以前不太明白的问题了解了下. 比如关于文件描述符(File Descriptor)的. fd=open("/dev/leds0&q ...

最新文章

  1. 年终盘点:2021年AI领域值得关注的十件事
  2. Linux使用storcli工具查看服务器硬盘和raid组信息
  3. Linux的Page Cache
  4. 使用memcache缓存
  5. Nature封面:大团队日趋中庸,小团队更容易出颠覆性创新
  6. ubuntu 16.4 安装postgreSQL,使C++链接到数据库
  7. liquibase mysql_Liquibase MySQL:语法错误附近'????????????????'
  8. scrapy 爬虫-爬美食节
  9. IO子系统的层次结构
  10. 【蓝桥杯嵌入式】关于CT117E下载程序出问题解决方案(含keil mdk4和keil mdk5移植)
  11. Win10用注册表开启任务栏透明
  12. 论软件测试工程师面试套路和暗语灵魂解密
  13. 目前我国每小时就有1名电动自行车骑行者死于交通事故
  14. html5考试总结300字,期中考试总结作文300字合集五篇
  15. TC Games 电脑玩手游助手会员无水印版,专为游戏直播玩家打造
  16. 试卷代号:4988 2021年春季学期期末统一考试电子政务概论 试题(开卷)
  17. 手指在屏幕上滑动,红色的小球始终跟随手指移动。
  18. 淘宝技术发展 - 子柳撰写
  19. 【180928】BlackJack游戏源码
  20. redis出现WRONGTYPE Operation against a key holding the wrong kind of value错误

热门文章

  1. 解决Null key for a Map not allowed in JSON (use a converting NullKeySerializer?)
  2. 【量化分析】用mplfinance显示交易图时,处理 Expect data.index as DatetimeIndex?
  3. 用苹果M1电脑,打任天堂明星大乱斗,是一种怎样的体验?
  4. c ajax 上传图片插件,ajax实现图片上传和预览
  5. ppt软件有哪些,推荐一下
  6. 蒜香法棍--排序算法
  7. Bluehost WordPress网站搭建疑问解答
  8. 下面哪些是html的表单控件,下列属于表单控件的是
  9. Windows服务器密码策略、账户锁定策略等安全设置
  10. IOCTL函数用法详解