论文基于QT的FTP下载工具-学士学位论文

ftp下载工具  时间:2021-02-23  阅读:()

毕业设计论文

设计(论文)题目 基于QT的FTP下载工具学生姓名 指导教师 讲师二级学院 信息技术学院 专 业 计算机科学与技术班 级 计算机科学与技术单 学 号提交日期2013年4月25 日 答辩日期 2013年5月 4 日

xxxxx学院学位论文使用授权声明

金陵科技学院有权保留本人所送交学位论文的复印件和电子文档可以采用影印、缩印或其他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外允许论文被查阅和借阅可以公布包括刊登论文的全部或部分内容。论文的公布包括刊登授权金陵科技学院教务处办理。

学生签名 指导教师签名 日 期

xx科技学院学士学位论文 目录

目录

摘要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .IIII

Abstract. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .IV

1引言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1. 1课题背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.2课题意义. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.3 QT介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1

1.3. 1 QT语言的特性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.3.2 QT的优势. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

1.3.3 QT/Embedded介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.4 FTP通信协议. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2 QT架构与平台搭建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

2. 1 QT的架构. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

2.2 QT的组成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

2.3 QT开发平台的搭建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

2.3. 1在虚拟机Vmware下安装Ubuntu. . . . . . . . . . . . . . . . . . . . . . . . . .7

2.3.2 QT SDK及QT Creator工具的安装. . . . . . . . . . . . . . . . . . . . . . .8

3系统设计与实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3. 1系统分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3. 1. 1功能设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3. 1.2具体需求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

3.2程序实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

3.2. 1使用Qt进行GUI开发的一般流程. . . . . . . . . . . . . . . . . . . . . . .11

3.2.2下载工具的界面设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

3.2.3具体功能实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

4系统测试. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

4. 1 QT Creator调试器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

4.2 QT调试方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

I

xx科技学院学士学位论文 目录

4.3出现的错误及解决方案. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

4.4 FTP下载工具的编译与运行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

4.5系统存在的问题. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

5总结. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

参考文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28

致谢. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

II

xx科技学院学士学位论文 摘要

基于QT的FTP下载工具

摘要

随着嵌入式系统、 图形用户界面GUI 的广泛应用 实时嵌入式系统对GUI的需求越来越明显而这一切均要求有一个高性能、 高可靠的GUI支持。 QT作为一种先进的跨平台语言可以在Windows、 Linux以及Symban和众多的嵌入式场合发挥作用。

本文首先阐述了QT的架构和特点及Ftp通信协议的原理然后在分析需求的基础上详细论述了利用Qt4. 0设计出该Ftp下载工具的具体方法。该下载工具实现了给出计算机名称或者Ip地址进行Ftp登录并能查看本地和服务器端的文件信息列表从而对指定文件的下载和上传功能具有一定的实用性和方便性。

关键词 QT语言跨平台 FTP 下载

III

xx科技学院学士学位论文 Ab stract

Based on the QT FTP download tool

Abstract

Along with the embedded system, the graphical user interface(Gui) extensive applicationof the embedded system, real-time demand for Gui is more and more obvious, and all of theseare required to have a high performance,high reliability and Gui support.Qtas an advancedcross-platform language, can in Windows, Linux and Symban and numerous embeddedoccasions play a role.

This article elaborates the structure and characteristics and Qt Ftp communication protocol,then in the principle based on analysis demand, elaborated the use Qt4.0 design the specificmethods of Ftp download tools.The download tool to achieve produces the computer name or Ipaddress for Ftp login, check local and server-side file information list, and can realize to thespecified file download and upload function,has a certain practicality and convenience.Key words:QT language;cross-platform;Ftp protocol ;File Download

IV

xx科技学院学士学位论文 第1章引言

1 引言

1.1课题背景

21世纪是网络的时代是信息的时代是多媒体的时代。 Int e rn e t技术的迅猛发展与普及推动了世界范围的信息传输和信息交流。随着Internet的发展 Internet将提供越来越多的服务。但就目前而言 网民使用较多的主要有下列服务 电子邮件E-mail文件传输FTP远程登录Telnet万维网World Wide Web新闻组Newsgroup/Usenet和电子公告牌BB S聊天系统chat。 Internet如此流行其中FTP功不可没。成千上万的数据、软件分布在世界各地有了它足不出户只要敲几个字就能轻而易举地得到想要的。现在全世界已有1000多个FTP文件服务器对所有Internet用户开放用户可以通过与Int e rn et相连的计算机把自己需要的文件传过来。

目前已经有许多互联网站点都建立了可供大众访问的资料库这些资料都可以被通过FTP获取。匿名FTP使用户有机会存取到世界上最大的信息库这个信息库是日积月累起来的并且还在不断增长永不关闭涉及到几乎所有主题。而且这一切是免费的。 Internet之所以能延续到今天是因为人们使用通过标准协议提供标准服务的程序[1] 。

由FTP提供的文件传送是将一个完整的文件从一个系统复制到另一个系统中。要使用FTP就需要有登陆服务器的注册账号或者通过匿名FTP的服务器来使用。与Telnet类似 FTP最早的设计是用于两台不同的主机这两个主机可能运行在不同的操作系统下、使用不同的文件结构、并可能使用不同字符集。但不同的是 Telnet获得异构性是强制两端都采用同一个标准使用7比特ASCII码的NVT。而FTP是采用另一种方法来处理不同系统间的差异 FTP支持有限数量的文件类型如ASCII文件二进制文件等等和文件结构面向字节流或记录。

目前在国内外基于FTP的网络通信仍然是Internet上文件传输的通用方法就如同当初FTP刚出现的时候 FTP并没有有多大的变化但是在Internet迅猛发展的形势下其安全问题还是日益突出出来。但是FTP还是非常的流行大部分的网站以及论坛等等涉及到用户下载的网站都提供了FTP服务特别是校园中也可以利用FTP服务器来使身处校园中的每个人都可以通过FTP来下载或共享文件这使得每个人都能享受到网络的便捷[2] 。

1.2课题意义

本系统就是利用Qt所带的QFTP类库设计出具有良好交互界面从而简化用户操作的难度使用户能够轻松简单的使用FTP享受FTP所带来的便利。

1.3 QT介绍

QT是一个多平台的C++图形用户界面应用程序框架而且QT提供了一组更容易理解的GUI类运行的更快另外QT特有的信号和槽更易使用。 QT面向对象且很容易扩展,并且允许真正地组件编程。 QT工具包是一个C++的类库并且是使用“一次编写

1

xx科技学院学士学位论文 第1章引言

随处编译”的方式构建多平台的图形用户界面程序的一套工具。 由于QT特性平台无关性、优化了内存和资源的利用、拥有自己的窗口系统、模块化可裁剪性、代码完全公开[3] 。

1.3.1 QT语言的特性

QT是Trolltech公司的一款图形开发产品它采用完全的面向对象技术来进行图形应用程序的设计允许真正的组件编程 Qt是一个全面的C++应用程序开发框架它包含一个类库和用于跨平台开发及国际化的工具可以开发高性能跨平台客户端 以及服务器端的应用程序。

Qt类库是一个拥有超过400个C++类同时不断扩展的库。它封装了用于端到端应用程序开发所需要的所有基础结构。优秀的Qt应用程序接口包括成熟的对象模型 内容丰富的集合类 图形用户界面编程与布局设计功能数据库编程 网络 XML 国际化OpenGL集成等等。

Qt设计者是一个功能强大的GUI布局与窗体构造器能够在所有支持平台上 以本地化的视图外观与认知快速开发高性能的用户界面。

Qt语言家是一套用来消除国际化工作流程中所带来障碍的工具。使用Qt语言家开发小组可把应用程序的翻译转换外包给非技术性翻译人员从而可增加精确度大大加快本地化处理过程。

Qt助手一个完全可自定义重新分配的帮助文件或文档浏览器它可与基于Qt的应用程序运行。使用Qt助手开发小组同样能够很大程度上加快文档的处理过程[4] 。

1.3.2 QT的优势

作为嵌入式图形界面开发工具 QT优势很多有如下一些

1.支持平台广泛

QT应用程序接口与工具兼容于所有支持平台让开发员们掌握一个应用程序接口便可执行与平台非相关的应用开发与配置其支持的平台有 QT/Windows WindowsXP,2000,NT4,Me/98、 QT/Mac(Mac OS X)、 QT/X 11(Linux,Solaris\HP-UX,IRIX,AIX)等。

2.封装多

QT对不同平台的专门QPI进行了专门的封装文件处理、 网络等。

3.面向对象

QT具有模块设计和注重软件构件或元素的可重用性的特点。

4.构件支持

QT提供信号signal和插槽slot概念这是一种类型安全的方法它允许回调

2

xx科技学院学士学位论文 第1章引言

冰支持对象之间在彼此不知道对方信息的情况下进行合作这使得QT非常适合于真正的构件编程。

5.友好的联机帮助

QT提供了大量的联机参考文档有超文本HTML方式也有UNIX帮助手册和补充说明并且对于初学者其中的指南将一步步介绍如何进行QT编程。

6.便利性

由于Q T是一种跨平台的GUI工具包它对编程者隐藏了在处理不同窗口系统时潜在的问题 QT定义了一些类来隐藏在不同操作系统上不同处理方式下的细节问题。

7.用户自定义

使用其他的一些工具包经常会遇到这样的一种情况没有真正适合需求的组件声称自定义的组件对用户来说就像一个黑匣子。而在QT中生成用户自定义的组件非常简单而且易于修改组件的行为。

8.国际化

QT为本地化应用提供了完全的支持所有用户界面文本都可以基于消息翻译表被翻译成各国语言 QT还支持双字节16bit国际字符标准。

9.丰富的API函数

QT为专业应用提供了大量的函数在QT的API中含有大约250个C++类大多数的类都是GUI专有的。

10.可用户化外观

QT支持主题基于QT的应用程序能够在Windows外观、Motif外观 以及其他一些用户化主题之间切换。

11.完整的一套组件工具

QT编程的基本模块称之为组件组件是用户界面的组成部分 QT含有用来创建专业外观的用户界面所需要的所有组件。

1.3.3 QT/Embedded介绍

QT/Embedded为带有轻量级窗口系统的嵌入式设备提供了标准的API。 QT/Embedded面向对象的设计思想使得它能一直向前支持鼠标、键盘、 图形加速卡等附加设备。通过使用QT/Embedded,开发者可以感受到QT/X 11、QT/Windows和QT/Mac等不同的版本下使用相同的API编程带来的便利[5] 。QT/Embedded与QT/X11的Linux版本的比较如下表所示。

表1 1 QT/Embedded与QT/X1 1的Linux版本的比较

LightNode($7.71/月)香港cn2精品线路

LightNode官网LightNode是一家位于香港的VPS服务商.提供基于KVM虚拟化技术的VPS.在提供全球常见节点的同时,还具备东南亚地区、中国香港等边缘节点.满足开发者建站,游戏应用,外贸电商等应用场景的需求。为用户带来高性能服务器以及优质的服务的同时还提供丰厚的促销活动,新用户注册最高送$20。注册用户带新客即可得10%返佣。商家支持PayPal,支付宝等支付方式。官网:https:/...

7月RAKsmart独立服务器和站群服务器多款促销 G口不限量更低

如果我们熟悉RAKsmart商家促销活动的应该是清楚的,每个月的活动看似基本上一致。但是有一些新品或者每个月还是有一些各自的特点的。比如七月份爆款I3-2120仅30美金、V4新品上市,活动期间5折、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量服务器比六月份折扣力度更低。RAKsmart 商家这个月依旧还是以独立服务器和站群服务器为主。当然也包括有部分的低至1.99美元的VPS主机。第一、I...

PacificRack 端午节再来一款年付$38 VPS主机 2核4GB内存1TB流量

这不端午节和大家一样回家休息几天,也没有照顾网站的更新。今天又出去忙一天没有时间更新,这里简单搜集看看是不是有一些商家促销活动,因为我看到电商平台各种推送活动今天又开始一波,所以说现在的各种促销让人真的很累。比如在前面我们也有看到PacificRack 商家发布过年中活动,这不在端午节(昨天)又发布一款闪购活动,有些朋友姑且较多是端午节活动,刚才有看到活动还在的,如果有需要的朋友可以看看。第一、端...

ftp下载工具为你推荐
郭吉军二战中受害最大的国家?google竞价排名谷歌SEO与谷歌竞价的区别和联系如何建立一个网站怎样能创建一个网站iphone越狱后怎么恢复已经越狱的iphone怎么恢复到原来的系统直播加速手机上什么软件可以帮助直播加速,大神们推荐推荐怎么点亮qq空间图标如何点亮QQ空间图标小米手柄小米蓝牙游戏手柄怎么连接游戏网站地图制作如何制作、提交网站地图office2007简体中文版office2007下载安装火狐flash插件崩溃flash插件总崩溃怎么办
厦门域名注册 cpanel 174.127.195.202 腾讯云分析 cdn加速是什么 太原网通测速平台 爱奇艺会员免费试用 彩虹云 云营销系统 国内域名 服务器防火墙 114dns 大化网 阿里云邮箱怎么注册 免费赚q币 中美互联网论坛 cc加速器 低价 29美元 海康流媒体服务器 更多