热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

四十一、Qt网络(一)简介

提示:以后我们使用的编程环境为Windows下基于Qt4.6.3的QtCreator1.3.1。从这一节开始我们讲述Qt网络应用方面的编程知识。在开始这部分知识的学

提示:以后我们使用的编程环境为Windows下基于Qt 4.6.3的Qt Creator 1.3.1 。

从这一节开始我们讲述Qt网络应用方面的编程知识。在开始这部分 知识的学习之前,你最好已经拥有了一定的网络知识和Qt的编程基础。在下面的教程中我们不会对一个常用的网络名词去进行详细解释,对于不太了解的地方,你 可以参考相关书籍。不过,你也没有必要非得先去学习网络教材,而后再学习本部分内容,因为Qt提供了简单明了的接口函数,使得我们这里并没有涉及太多专业 的知识。看完教程后,你也许会发现,自己虽然不懂网络,但却可以编写网络应用程序了。

下面我们打开Qt Creator,在Help页面中我们搜索QtNetwork Module 关键字,其内容如下图。

Hosted by ImageHost.org

在Qt中提供了网络模块(QtNetwork Module)来用于网络程序的开发,可以看到,在这里提供了多个相关类。有用于FTP编程的QFtp类,用于HTTP编程的 QNetworkAccessManager类和QNetworkReply类,用于获得本机信息的QHostInfo类,用于Tcp编程的 QTcpServer类和QTcpSocket类,用于UDP编程的QUdpSocket类,用于网络加密的QSslSocket类,用于网络代理的 QNetworkProxy类等等。

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

Hosted by ImageHost.org

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

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 += network ,然后使用时添加 #include 头文件

对于网络部分相关的例子,我们可以查看其演示程序。在Windows的开始菜单中选择Qt Creator的安装目录,然后选择Qt Demo菜单。我们可以在Networking菜单中找到网络部分的例子。如下图。

Hosted by ImageHost.org

Hosted by ImageHost.org

我们可以运行这些例子查看效果,也可以查看它们的帮助文件,如下图,点击Documentation即可。

Hosted by ImageHost.org

当我们对Qt中的网络编程有了一定了解之后,我们就可以开始下一步的学习了。



分类:
Qt系列教程 作者: yafeilinux 日期: 六月 16th, 2010.  749 views

Tags:
QtNetwork Module ,
Qt网络 ,
Qt网络教程 ,
yafeilinux ,
网络教程


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • /usr/local/webots/bin/webotsbin: /lib/x86_64linuxgnu/libm.so.6: version `GLIBC_2.29‘ not found (r
    usrlocalwebotsbinwebots-bin:libx86_64-linux-gnulibm.so.6:versionGLIBC_2.29notfound(require ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • macOS Big Sur全新设计大版本更新,10+个值得关注的新功能
    本文介绍了Apple发布的新一代操作系统macOS Big Sur,该系统采用全新的界面设计,包括图标、应用界面、程序坞和菜单栏等方面的变化。新系统还增加了通知中心、桌面小组件、强化的Safari浏览器以及隐私保护等多项功能。文章指出,macOS Big Sur的设计与iPadOS越来越接近,结合了去年iPadOS对鼠标的完善等功能。 ... [详细]
  • 本文探讨了容器技术在安全方面面临的挑战,并提出了相应的解决方案。多租户保护、用户访问控制、中毒的镜像、验证和加密、容器守护以及容器监控都是容器技术中需要关注的安全问题。通过在虚拟机中运行容器、限制特权升级、使用受信任的镜像库、进行验证和加密、限制容器守护进程的访问以及监控容器栈,可以提高容器技术的安全性。未来,随着容器技术的发展,还需解决诸如硬件支持、软件定义基础设施集成等挑战。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 三小时掌握计算机网络基础(通俗易懂)
    目录1.网络层次划分2.OSI七层网络模型3.IP地址4.子网掩码及网络划分5.ARPRARP协议6.路由选择协议7.TCPIP协议8.UDP协议 9.DNS协议 ... [详细]
  • http:friendlysong.blog.163.comblogstatic3225243920119142325417命令行如下find.-typef-size1000000 ... [详细]
author-avatar
yjdnvb
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有