最近找Qt的安装方法是真的烦。网上太多版本,Qt官网更新了,找不到下载地方(收钱)。终于找到一个完整版了

转自:CN_Simo.

http://www.cnblogs.com/lxmwb/p/6352220.html

导语:

Qt是一个跨平台的C++图形界面应用程序框架。它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt同X Window上的Motif,Openwin,GTK等图形界面库以及Windows平台上的MFC、OWL、VCL、ATL是同类型的东西。

本系列教程以Qt5.6为基础展开精讲。

参考书目:

【1】霍亚飞.Qt Creator快速入门(第3版).2017年

【2】蔡志明.精通Qt4编程.2008年

【3】普拉达.C++ Primer Plus(第6版).张海龙 译.2012年

学习建议:

我认为Qt是为喜爱C++的人准备的“PhotoShop”,如果你没有C++基础,那么你在看完《C++ Primer》这本书后再来看这片教程可能会让自己更舒服一些。

您C++学的不好怎么办?没关系,做事走心比什么都重要。学习过程中越是用心,就越觉得自己C++基础不行,越想去复习C++,越复习C++,就越想学图形界面,死循环。。。。哈哈,不废了,步入正题吧!

正文:

安装Qt4方法

安装准备:1.qt-opensource-windows-x86-mingw482-4.8.6-1.exe(qt库文件)

2.qt-creator-opensource-windows-x86-4.2.0.exe(IDE)

3.i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z(wingw编译器,非常重要,安装成功与否靠它了)

4.qtcreator-gdb-7.4-MINGW32_NT-6.1-i686.tar.gz(gdb调试器)

下载地址:http://pan.baidu.com/s/1pLEYta7

注意:这个Qt在XP和win7均能正常使用的!

开始安装

步骤一:

先把所有的压缩包解压出来,然后把(一定要是对应的版本,见说明1)i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z解压出来的mingw32文件夹剪切到C盘中。gdb文件夹同理。注意:一定要记得mingw32文件夹和gdb文件夹解压到了哪里,因为后续安装需要指定此文件夹位置!(我解压到C:\Qt)

步骤二:

(1)点击qt-opensource-windows-x86-mingw482-4.8.6-1.exe进行安装,这是一个类库来的,下面就等一下吧!

(2)load完之后一直按next就行了。最后来到某个界面,你直接按install就行了,接着就是漫长的等待,中间会有一个选择编译器的界面,选择我们刚刚解压出来的mingw32文件夹,千万不要选错。注意:这个Qt所有的东西都要安装在C盘,不要随意更改路径,占你2G而已,否则的话可能安装不成功的,本人没有实验过,如果你有兴趣可以试一下。

(3)吃了个苹果,刚刚装好。先不要打开它,把那两个选项去掉它,然后按一下finish,因为下面还有一些事情要做。

步骤三:

(1)点击qt-creator-opensource-windows-x86-4.2.0.exe把creator安装了,其实这只是一个开发环境而已,简单来说就是一个编写代码的地方,就像visual C++ 6.0一样。其实不用这个环境,用VS也可以的,大家有兴趣可以尝试一下。

(2)还是那句话,直接按next,出现登陆账户就skip就行,都保持默认即可,在最后的界面,不要把勾去掉,按finish,然后creator就启动了。

步骤四:

(1)现在还不能用的,要设置一下环境变量。首先依次点击工具和选项,然后就跟着图片的编号去做

(2)按了添加之后就会弹出一个对话框来,是用来选择qmake途径的,我们可以依次选择C盘,Qt,4.8.6,bin, qmake.exe就行了。不会选择的话可以看一下图片红线处的路径。(这种选法只能在你没有更改路径的情况下用)

(3)配置编译器,操作:编译器->添加->MinGw->C++。

(4)按完MinGW后,在编译器路径那里选择路径:  C:\Qt\mingw32\bin\g++.exe,然后点击打开就行了.同理可以配置C编译器,只是g++.exe换成了gcc.exe(见说明2)。

(5)最后到“构件套件(Kit)”中,可以看到已经有一个“桌面(默认)”,这里双击它直接进行设置,名称可以随意设置;下面编译器一项选择前面设置的MinGW;最后Qt版本选择前面添加的即可,因为调试器还没有配置,所以调试器一项再配置了之后就可以选择了。为了以后调试模式进行程序调试,这里需要指定调试器。然后回到Qt Creator中继续设置,单击调试器项(Debugger)项“添加”,路经为C:\Qt\qtcreator-gdb-7.4-MINGW32_NT-6.1-i686\gdb-i686-pc-mingw32.exe

 

到此,Qt4.8.6基本配置完毕!

安装Qt5方法

安装准备:1. qt-opensource-windows-x86-mingw492-5.6.1.exe

下载地址:http://download.qt.io/official_releases/qt/

开始安装

步骤一:

(1)点击qt-opensource-windows-x86-mingw492-5.6.1.exe进行安装。

(2)之后一直按next,到下面这个界面后全选(如果你的硬盘不够大,则在默认的基础上加上Tools里的MinGw4.9.2即可),再“下一步”,最后安装即可!

(3)玩了两局三国杀,刚刚装好,点击确定即可打开Qt Creator,尽情参观吧!

到此,Qt5.6算是安装完毕,而且都是已经配置好的,就不用咱们自己动手了。不过我们还是亲自去看看吧。

步骤二:

(1) 瞧!一切已备,只欠东风啦。(工具-选项-构建和运行-构建套件)

(2) 我们再看一下5.6的安装目录的目录结构:

(3) 那些实例都在Qt Creator里面有显示,点击后会打开源文件以及关于本例的介绍。如果你想运行一个示例程序看看,那么打开示例项目后点击左下角的绿色三角或者Ctrl+R即可运行示例(需要等几秒,右下角会有编译进度条)。

(4) 所有已安装的与Qt有关的应用都已经在“开始菜单”里面构建了文件夹,箭头指向的是Qt的终端界面,以后需要用到!

(5) 打开上图的文件夹中Assistant,这是Qt小助手,Qt中所有用到的类在这里面都有介绍,也是常用的东西之一。

(6) 好,暂且介绍到这里,关于这几个工具的详细介绍请参照《Qt Creator快速入门》的第一章。先对软件熟悉一下是好事哦,不要想着现学现用,重要的是跟Qt的这几个工具培养感情。

Qt的建立运行和发布

文章整体思路:

我们循序渐进地来看,一个Qt应用的完成有以下一个重要的步骤:

项目创建->源码编译->程序运行->发布程序

主体内容将按照下图中所示路线进行阐述:

分上、下两路,最后共同汇聚到一起进行“应用发布”的讲解,好的,闲话不多聊,我们上路吧!

上一路:Qt Creator创建、编译、运行项目

注意:不要小瞧Hello World哦!

运行Qt Creator后:

步骤一:新建项目

(1)文件->新建文件或项目,弹出一个对话框,我们选择Application项目中的Qt Widgets Application。

(2)输入项目名称:helloworld,然后点击“浏览”按钮来选择源码存放路径,比如我这里是E:\codeTest\qtCreator_2,如果选中了“设为默认的项目路径”,那么今后创建的项目都将存放在这里。单击“下一步”。注意:项目所在路径中不能有中文,否则程序运行报错,例如:C:\你好\qtCreator_2

(3)选择构建套件:DeskTop Qt 5.6.7.1 MinGw 32bit,点击详情按钮可以看到  默认为Debug版本和Release版本分别设置了不同的目录,Debug即为调试版本,Release为可发布版本。都保持默认即可,单击“下一步”。

(4)自定义类名:设定类名为 HelloDialog,基类选择 QDialog ,单击”下一步“。这表明该类继承自 QDialog类,使用这个类可以生成一个对话框界面,Qt框架中所有的类都是以‘Q’开头的。

(5)设置项目管理:在这里可以看到这个项目的汇总信息,还可以使用版本控制系统,这里不会涉及,直接单击”完成“即可。

(6)右击项目文件列表中的任一文件,点击”在Explorer中打开“,就可以转到项目文件夹,让我们来看看项目目录中的各个文件说明:

步骤二:界面设计

(1)在Qt Creator编辑模式下双击项目文件列表中界面文件分类下的hellodialog.ui文件,便会进入设计模式。

(2)关于设计模式的界面介绍这里就不再赘述,可以翻看《Qt Creator快速入门》第二张查看。不过我觉的这些介绍都多余,正常人都明白,界面标注的很清晰。

(3)在控件区寻找一个”Label“标签部件,将它拖拽到主设计区的界面上,双击进入它进入部件进入编辑状态后输入”Hello World!我是Qter!“字符串。还可以再拖拽一个”PushButton“按钮部件到标签下方,编辑按钮上文本为”OK",如下图所示:

步骤三:编译并运行程序

(1)Ctrl+R组合键相当于左下角第一个绿色三角按钮(编译运行),按下后程序开始编译,右下角还有一个可视的进度条。

(2)如果前面操作没有错误,那么这时我们制作的helloWorld应用程序已经运行起来了,而Qt Creator下方弹出了“应用程序输出”框,在这里有一个红色的方块按钮可以终止程序运行,也可以直接X掉HelloWorld窗口。

(3)是不是很开心,是不是很激动了,下面我们来看看用“Qt 5.6 for Desktop (MinGW 4.9.2 32 bit)”怎么命令行构建项目吧。注意:Qt 5.6 for Desktop (MinGW 4.9.2 32 bit)就是我一直说的Qt终端,在开始菜单可以找到它!

下一路:命令行创建、编译、运行项目

步骤一:命令行编译ui文件并创建项目.pro文件

(1)新建文件夹作为项目文件夹,我建在了E盘根目录,文件夹名称hello。注意:路径中不能有中文。

(2)将那会用Creator创建的项目中的main.cpp文件和hellodialog.ui文件复制hello文件夹中。

(3)打开Qt 5.6 for Desktop (MinGW 4.9.2 32 bit),执行“e:&&cd e:\hello"切换到hello目录。

(4)编译ui文件。使用uic编译工具,从ui文件生成头文件。具体命令是:

uic -o ui_hellodialog.h hellodialog.ui

(5)这时,项目文件夹中就生成了以ui开头的头文件,可以用”notepad ui_hellodialog.h“命令查看其具体内容。

注:ui文件是用xml语言描述的界面文件,即我们在QtCreator设计模式中拖进去的那些部件组成的界面。此步骤的工作就是将ui文件转化成mingw编译器能看懂的.h头文件而已。

步骤二:构建项目.pro文件

(1)使用”qmake -project“命令来生成pro工程文件,这时可以看到hello目录中已经生成了hello.pro文件,此文件与项目文件夹hello同名。(关于qmake工具,见说明2)

(2)使用”notepad hello.pro"命令打开hello.pro文件,在最后面添加一行代码:

QT += widgets

按下Ctrl+S保存该文件。这行代码的意思是:需要添加widgets模块。因为源文件中使用到的类都包含在这个模块中,例如:main函数中用到的QApplication类。如果你的Qt版本是Qt4,包含这个模块可能会出错,所以为了保证与Qt4的兼容性,建议使用以下的方式:

greaterThan(QT_MAJOR_VERSION,4): QT += widgets

意思是:如果Qt的版本大于4那么就添加widgets模块。注意保存!

步骤三:命令行编译生成exe

(1)命令行输入:qmake,生成用于编译的Makefile文件。qmake之后生成共了三个文件、两个目录:

Dir:

debug

release       // 后面编译后的exe文件在这里面

File:

Makefile     // 包含了编译信息

Makefile.Debug

Makefile.Release

(2)输入“mingw32-make"命令来编译程序,编译完后会在release目录中出现helloworld.exe文件。(若想编译debug版本,只需要更改命令为:mingw32-make -f Makefile.Debug)。

(3)运行程序查看:.\release\hello.exe,程序完美运行!

(此步骤需注意:qmake编译.pro文件,mingw32-make按Makefile中内容编译。)

汇合:

上面我们共分了上、下两路来分别阐述Qt Creator和命令行各自构建项目的方法,中途我们来个小总结:

1. 理解ui文件的作用,掌握命令行将ui文件转化为.h文件的方法(uic)。

2. Qt Creator创建项目的步骤。(Qt4和Qt5大同小异)

3. 命令行所有操作一定是要在项目文件夹中,例如这里的hello项目。

4. 掌握qmake工具的使用,在之后纯代码实现HelloWorld的时候要用到。

5. 生成项目文件后,注意加 QT+=widgets。(多数编译不成功的原因都在这里!)

6. 上面我们用到了一些常用的doc命令,例如cd、dir等等,若是对此有疑惑,还请积极查阅资料,多掌握一些doc命令可以增加工作效率也说不定哦!

7. 以上内容我们总共提到了两种运行.exe的方式:QtCreator中Ctrl+R  和  命令行(必须是Qt 5.6 for Desktop)中.\release\hello.exe的形式。

除了以上两种方式外,还可以到项目工程文件夹中release中找到hello.exe双击运行,此时弹出错误提示框告诉你dll文件缺失,解决方法放在 说明1 中,自行查看即可!

细心的同学可能会发现我们运行的程序都没有图标ICO下面我们讲程序发布:

程序的发布

已经提到过编译的时候有两种方式:debug和release,区别就是debug生成的文件相对特别大,不防比较一下:

前面Qt Creator创建的helloworld项目运行后,默认在helloworld的父目录中创建了build-helloworld-Desktop_Qt_5_6_1_MinGW_32bit-Debug文件夹,所有的输出文件都在这里,exe文件就在debug中,发现是1M左右;

然后我们之前命令行编译出来的exe默认是release版,去看一看,啊哈!才24K!差距啊!当然你愿意发布大一些的我也不介意!

哦,还要告诉你两个版本的exe双击后提示缺少的dll文件也是不一样的,实验证明debug版本需要的dll文件都是非常大的有的就几百兆,所以说别想了兄弟。

好,我们确定了release版本最利于发布,所以我们就用release版本开始以下步骤:

步骤一:设置应用程序图标(ICO)

在Qt Creator中打开helloworld项目,在左下角目标选择器中将构建目标设置为Release,Ctrl+R运行!

(1)先去制作一个ico后缀的图标文件吧,没有怎么办!不慌,找一张觉着漂亮的图片,点击此处链接:在线生产图标,进去后制作图标重命名为”myico.ico“,图标文件保存到项目根目录中。

(2)修改项目文件。在Qt Creator中双击helloworld.pro文件,在最后添加下面一行代码:

RC_ICONS = myico.ico

(3)以release方式运行程序,看看是不是有图标了呢?

步骤二:创建程序文件夹

此时创建的程序直接双击运行会弹出错误框哦!还需要做以下处理才能发给别人用!

(1)新建一个文件夹,盛放程序发布要用的dll文件和exe可执行程序。我这里是 e:\App,并将exe文件复制进去,exe文件在 与工程目录同级的目录中(即e:\codeTest\qtCreator_2\build-helloworld-Desktop_Qt_5_6_1_MinGW_32bit-Release\release\中)。

(2)在Qt安装目录中的bin文件夹中找到缺失的dll文件。例如:本程序需要复制bin目录("Qt\Qt5.6.1\5.6\mingw49_32\bin")中的libgcc_s_dw2-1.dll、libstdc++-6.dll、libwinpthread-1.dll、Qt5Core.dll、Qt5Gui.dll和Qt5Widgets.dll这六个文件。

(3)另外,还需要将Qt\Qt5.6.1\5.6\mingw49_32\plugins\platforms这个文件夹复制过去,里面只需保留qwindows.dll文件即可!

(3)这次双击exe文件是不是可以运行了呢!(也可通过命令行完成以上操作,见说明1.①)

步骤三:打包文件夹,发布!

(1)App文件夹现在有19M,将App文件夹压缩起来,看看多大:

(2)大概有6M,可以接受这个大小的话就去分享给其他人吧!

到此,整个项目发布过程就结束了。此篇文章也已经接近尾声,我祝愿大家鸡年快乐!

说明:

1. 双击exe后无法打开,除了将缺失的dll文件全部复制到exe所在目录的方法外还有下面两种方式:

①在不知道需要哪些dll文件情况下可以使用windeployqt命令来让计算机帮你自动复制。启动Qt 5.6 for Desktop命令工具后执行以下命令即可:(将e:\App换成你的exe所在文件夹路径)

windeployqt e:\App

②不复制dll文件,将Qt\Qt5.6.1\5.6\mingw49_32\bin目录添加至PATH环境变量(注意发布程序时需要复制dll)。

方法:桌面-右击此电脑-选择属性-高级系统设置-环境变量-双击PATH进入编辑状态-添加bin路径(win7用户注意加分号)

2. qmake是Qt提供的一个编译工具,他可以生成与平台无关的.pro文件,然后利用该文件生产与平台相关的Makefile文件。Makefile文件中包含了要创建的目标文件或可执行文件、创建目标文件所依赖的文件和创建每个目标文件时需要运行的命令等信息。最后使用mingw32-make工具来完成自动编译,mingw32-make就是通过读入Makefile文件的内容来执行编译工作的。使用mingw32-make命令时会为每一个源文件生成一个对应的.o目标文件,最后将这些目标文件进行链接来生成最终的可执行文件。与vc++6.0运行程序时编译、链接、运行三个按钮相似。

最后值得注意的是Qt的所有文件夹忌 中文!!

Qt4及Qt5的下载、安装和使用相关推荐

  1. Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装

    导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且允许真正地组件编程.基本上,Qt同 ...

  2. Qt5.10.1下载安装和VS2013配置

    转载自:https://blog.csdn.net/hust_bochu_xuchao/article/details/79461213 下载.安装及配置 一.前提准备 1.已经安装好vs2013 2 ...

  3. 【转】qt-vs-addin:Qt4和Qt5之VS插件如何共存与使用

    原则上,两者是不可以同时存在的,但是如果都安装了,该如何分别使用他们呢? Qt4 Visual Studio Add-in:官网可以下载安装程序,qt-vs-addin-1.1.11-opensour ...

  4. Qt学习之路1---软件下载安装及工程简介

    1.下载安装目前最新版的qt,官网链接:https://www.qt.io/qt5-8/: 和qt4不同,qt5在线安装,轻巧快速,而且不用配置一些繁琐的东西,安装之后会出现Qt creator这就是 ...

  5. QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文步骤

    引用:https://www.cnblogs.com/chenmingjun/p/8392713.html QT5.10.0安装教程图文教程以及安装成功QT5.10.0后环境配置图文教程 文章目录 Q ...

  6. QT4.7和VS2008 顺利安装必读 (最新版)

    刚毕业踏入工作,做项目需要在VS下用QT开发环境,最近查了不少资料,很多种安装方法,对于我这种初步接触QT的,看的头都大了. 经过几番测试,终于搞定QT4.7在VS2008下的安装,实际so easy ...

  7. qt及qt quick开发实战精解_Qt5实战001:Qt 5.15下载安装详解

    什么是QT Qt是一个款跨平台的C++图形用户界面应用程序开发框架,支持包括不限于Windows.Linux.Mac OS X.Android.iOS.WinCE.Unix等平台.Qt 可以绘制漂亮的 ...

  8. Qt实战:Qt5.11.1安装与MSVC配置

    Qt实战:Qt5.11.1安装与MSVC配置 文章目录 Qt实战:Qt5.11.1安装与MSVC配置 一.Qt 5.11.1安装 二.MSVC配置 1. 安装Visual Studio Install ...

  9. QT5.12 android 安装

    1. 概述 目标是在Qt编译Android apk,在Android目标机上运行. 安装软件等新建目录不留空格.除系统外,其它软件不安装在C盘 编译输出版本最高 API 28  Android 9   ...

最新文章

  1. 【GOF】23中设计模式深析
  2. 四种JOIN简单实例
  3. ISME:中科院微生物所揭示细菌利用光能新机制!
  4. shell 连续空格输出
  5. oracle的sequence是什么,关于Oracle的序列(Sequence)使用内容是什么呢?
  6. python对象编程例子-python面向对象编程:python类和实例讲解
  7. 计算机合成生物学博士,重磅!Tim Lu 出任 CEO,合成生物学新锐今日闪亮登场
  8. 浏览器的内核及版本的判断
  9. BYZ原创天语w806测评--入手2天,总结优点、缺点.
  10. NYOJ-水池数目(dfs)
  11. leftjoin多表联合查询_结合mybatis-plus 实现无XML多表联合查询
  12. 数据泵避免个别表数据的导出
  13. python基础教程廖雪峰云-为什么看不懂廖雪峰的Python学习教程?
  14. Hive分析hadoop进程日志
  15. 如何确保分布式场景下的并发幂等性?
  16. 作为程序员的我,接私活有错么?
  17. Launch文件编写
  18. HBuilder X 无法启动微信开发者工具问题解决方法
  19. 算法到底该怎么学?算法数据结构Java编程超全干货!(ACM金牌选手分享超牛学习路径~)...
  20. android hdmi解码器,如何使用HDMI高清编码器进行直播

热门文章

  1. python队列溢出_python – 多处理队列maxsize限制是32767
  2. JQ插件第五十三:地区城市选择面板
  3. go 拼接mysql字符串_MYSQL 整型转字符型 拼接-Go语言中文社区
  4. 修改Eclipse窗口颜色设置
  5. LabVIEW串口通讯(数字传送)
  6. linux进程线程视频百度云,linux 进程线程时间片
  7. r54600h和r55600u哪个好
  8. 门禁管理系统的简单介绍
  9. 如何竞拍波卡平行链?
  10. python数学编程 中文版下载_Python数学编程