论文基于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版本的比较

CloudCone(1.99美元),可以额外选择Voxility高防IP

CloudCone 商家也是比较有特点的,和我们熟悉的DO、Vultr、Linode商家均是可以随时删除机器开通的小时计费模式。这个对于有需要短租服务器的来说是比较有性价比的。但是,他们还有一个缺点就是机房比较少,不同于上面几个小时计费服务商可以有多机房可选,如果有这个多机房方案的话,应该更有特点。这次我们可以看到CloudCone闪购活动提供洛杉矶三个促销方案,低至月付1.99美元。商家也可以随...

Kinponet是谁?Kinponet前身公司叫金宝idc 成立于2013年 开始代理销售美国vps。

在2014年发现原来使用VPS的客户需求慢慢的在改版,VPS已经不能满足客户的需求。我们开始代理机房的独立服务器,主推和HS机房的独立服务器。经过一年多的发展,我们发现代理的服务器配置参差不齐,机房的售后服务也无法完全跟上,导致了很多问题发生,对使用体验带来了很多的不便,很多客户离开了我们。经过我们慎重的考虑和客户的建议。我们在2015开始了重大的改变, 2015年,我们开始计划托管自己...

ThomasHost(月付5美元)美国/法国/英国/加拿大KVM,支持Windows

ThomasHost域名注册自2012年,部落最早分享始于2016年,还算成立了有几年了,商家提供基于KVM架构的VPS,数据中心包括美国、法国、英国、加拿大和爱尔兰等6个地区机房,VPS主机套餐最低2GB内存起步,支持Windows或者Linux操作系统,1Gbps端口不限制流量。最近商家提供了一个5折优惠码,优惠后最低套餐月付5美元起。下面列出部分套餐配置信息。CPU:1core内存:2GB硬...

ftp下载工具为你推荐
快递打印怎么在电脑上打印快递单外网和内网什么是外网和内网?数码资源网哪个网站可以直接在线做照片?功能要齐全的`数码资源网安卓有没有可以离线刷题的软件?idc前线穿越火线河北的服务器好卡 有人知道怎么回事嘛 知道的速回机械键盘轴打游戏用机械键盘到底什么轴好?如何快速收录谁知道怎么快速被搜索引擎快速收录啊?虚拟机软件下载那里可以下载虚拟系统,又该怎么安装呢??微信电话本怎么用怎么用微信打电话声母是什么什么是声母,什么是音母?
免费域名 windows虚机 新通用顶级域名 smartvps 美国独立服务器 高防dns godaddy主机 腾讯云分析 韩国名字大全 怎样建立邮箱 东莞数据中心 广州服务器 中国网通测速 四川电信商城 贵阳电信测速 lamp的音标 测试网速命令 1美元 服务器防御 镇江高防服务器 更多