第1篇基础(一)Qt开发环境的搭建和helloworld
导语
从这一篇我们正式开始Qt编程。本篇主要讲解Qt编程环境的搭建。为了适应大多数读者的需要,同时为了避免系统环境的不同而产生不必要的问题,这里选择使用Windows系统的Qt版本。因为在前面几十篇中我们主要讲解基本Qt控件项目的桌面编程,所以没有使用SDK进行安装,而是采用了Qt库与QtCreator分别下载安装的方式,这样就只需要下载Qt的桌面版本的库。而SDK中默认集成了QtCreator和Qt桌面库以及Qt移动开发的库,这个会在第40篇至第50篇进行讲解。再者,鉴于Qt一次编写代码,多次编译运行的特点,在我们教程中讲解的例子都是可以直接在其他系统环境下(比如Linux系统)直接编译运行的。
环境:Windows7Qt4。8。1QtCreator2。4。1目录一、Qt及QtCreator的下载和安装二、创建helloworld程序三、发布程序四、Qt工具介绍五、附录正文
一、Qt及QtCreator的下载和安装
1下载
(已过时)
下载Qt4。8。1:ftp:ftp。qtproject。orgqtsourceqtwinopensource4。8。1mingw。exe
下载QtCreator2。4。1:ftp:ftp。qtproject。orgqtcreatorqtcreatorwinopensource2。4。1。exe
最新下载地址:(已过时)
所有版本的Qt下载地址:ftp:ftp。qtproject。orgqtsource
所有版本的QtCreator下载地址:ftp:ftp。qtproject。orgqtcreator
最新下载地址:http:download。qtproject。org
其中snapshots里面包含了最新测试版本;officialreleases里面包含了官方发布版,即最终发布版;archive里面是Qt4。7及以前版本,QtCreator2。5及以前版本。
更新(201351已过时)
提示:在最近的QtCreator版本(2。5。0及以后)中已经默认不再包含MinGW,需要自己手动下载安装。可以在这里下载。(注:最新的Qt5版本中已经默认包含了QtCreator和MinGW,需根据自己实际情况操作。
官方原文如下:NoteforWindowsMinGWUsers
WedecidedtoremovethecustomMinGWdistributionandMinGWgdbfromourQtCreatoronlyWindowsbinarydistributionpackage。Theoriginalreastoincludeitthere(itwasthepredecessoroftheQtSDK)aresinceawhilenowfilledbytheQtSDK。Also,updatingtheshippedversionisalegalhassleaslongasthebinariesareprovidedthroughNokia,butwealsodon’twanttoshipstoneageversi。WeareworkingonbuildinfrastructurefortheQtProjectitselfthough,thatweultimatelywanttousetobuildQtCreatorpackages,snapshots,andmore。Currently,onhttp:builds。qtproject。org,youfindQtCreatorsnapshotsforLinuxandWindows,andalsoaPythonenabledMinGWgdb(thatreportedlydoesn’tworkonWindowsXP)。It’sstillpossibletoinstallMinGWandgdbseparatelyandregistertheminQtCreator。WearenotremovingthesupportforitfromQtCreator。
PreviouslyshippedMinGW:ftp:ftp。qt。nokia。commiscMinGWgcc4401。zip
PreviouslyshippedMinGWgdb:ftp:ftp。qt。nokia。commiscgdb7。2qtcreatorgdb7。2mingwx86。zip
UptodateMinGW:http:www。mingw。org(wemightprovideacompactversionliketheoneintheoldinstallerlater)
PythonenabledMinGWgdb7。4:http:builds。qtproject。orgjobgdbwindows(compiledonWindows7,doesn’tworkonWindowsXP)
更新:2014101
在安装Qt4。8。6及以后的Qt4版本时,应该按照安装时的提示来下载相应版本的MinGW,不然编译程序无法运行。例如Qt4。8。6安装时的提示如下图。
可以直接点击提示给的链接来下载。也可以从这里下载。
更新:(关于Qt4。8搭配QtCreator2。5以后版本的MinGW和无法调试的情况,201371)
注意:Qt5以后版本默认包含了所有需要的工具,不存在这里的情况,直接下载安装即可使用!
1MinGW
如果是Qt4版本,需要使用GCC4。4,也就是MinGW需要是4。4版本的,其他新的版本均不可用。
下载:http:pan。baidu。comsharelink?shareid1521902020uk2352291552
备用地址:http:builds。qtproject。orgjobmingw32windowslastSuccessfulBuildartifactmingw32qtproject。7z
2调试器GDB
在Qt4。8版本,需要下载并指定GDB才能正常调试。
下载地址:http:origin。releases。qtproject。orggdb或到社区下载页面进行下载
从这里面根据自己的系统来下载合适的版本。
下载完MinGW和GDB以后,将其解压到Qt的安装目录中,比如这里都解压到了C:Qt目录中。
3在QtCreator中的设置。我们需要先在编译器中添加并制定gcc的路径,例如C:Qtmingw32bingcc。exe如下图所示:
然后在Qt版本中添加并指定qmake的路径,如下图所示。
最后在构建套件中添加并指定编译器、调试器和Qt版本。如下图所示。
2安装
下载完成后先安装QtCreator,采用默认选项即可,安装路径推荐使用默认的C盘,因为这样可以与教程中的一致,在以后的内容中可以避免一些不必要的问题。然后安装Qt库,当在选择mingw目录时,需要设置为前面安装的QtCreator目录下的mingw目录。如下图所示。
二、创建helloworld程序
1运行QtCreator从桌面上的快捷方式打开QtCreator,进入眼帘的是QtCreator的欢迎界面。如下图所示。
QtCreator分为了七个模式:欢迎模式、编辑模式、设计模式、调试模式、项目模式、分析模式和帮助模式,分别由左侧的七个图标进行切换,对应的快捷键是Ctrl数字1到7。现在显示的就是欢迎界面,这里可以看到一些入门教程、开发的项目列表、Qt提供的示例程序,也可以创建或打开一个项目。
2创建项目
我们使用欢迎页面上方的创建项目按钮来创建新的项目(当然也可以在文件菜单中创建项目)。在项目模板中选择Qt控件项目,然后选择QtGui应用,这样便会生成一个一般的桌面Qt图形界面项目,如下图所示。其他项目的创建会在后面的教程中讲到。
然后更改项目名称和路径,这里名称可以设置为helloworld,注意名称和路径上都不要有中文。如下图所示。
点击下一步后,会弹出目标设置对话框,这里显示没有有效的Qt版本,并提示需要在工具选项菜单中进行设置。如下图所示。下面我们就来添加Qt版本。
3关联Qt库
因为我们这里是分别下载QtCreator和Qt库的方式,所以安装后它们并没有关联,这样是无法编译程序的。下面在QtCreator中关联Qt库。打开工具选项菜单,然后选择构建和运行一项,再进入Qt版本选项卡。如下图所示。
我们可以手动设置Qt版本的关联,现在点击右上角的添加按钮,然后会让选择qmake。exe文件,我们在Qt(不是QtCreator)安装目录的bin目录中找到该文件并打开。如下图所示。
现在已经默认生成了版本信息,我们点击确定按钮即可。如下图所示。
当设置完Qt版本,再次回到欢迎界面后,可以发现演示和范例中已经显示出了各种示例程序,大家可以打开自己需要的一个例子。这个我们先不进行讲解,下面继续来完成helloworld程序。
4完成helloworld项目
还按照前面的流程创建项目,在目标设置页面默认选择为了桌面Qt版本,因为现在我们只关联了这一个桌面版本的Qt库,所以只能编译为桌面程序。如下图所示。这里可以选中使用影子构建,这样编译生成的文件会和源码分别存放,这个在下面的内容中会看到。
点击下一步,在显示的类信息中将基类选择为QDialog,就是说我们将程序设置为了一个对话框,然后将类名更改为MyDialog。如下图所示。
再点击下一步进入汇总页面,这里可以选择版本控制系统,我们这里没有用到,所以不进行设置,点击完成按钮来完成项目的创建。如下图所示。
5编辑运行项目
创建完项目后会进入编辑模式,这里可以对项目文件进行查看和编辑。左侧是项目文件的列表,这里将项目中的文件分为了头文件、源文件等,进行分类显示。除了显示项目文件,还可以通过下拉菜单来选择类视图、大纲等内容。在右侧就是代码编辑区域,这里对关键字进行了高亮显示。如下图所示。
我们双击界面文件中的mydialog。ui文件,进入设计模式。在这里可以对界面进行可视化设计,也就是所见即所得。左侧的是一些常用部件,可以直接拖动到界面上;右侧是对象和类列表,下面是部件的属性编辑窗口;在中间,上方是主设计区域,显示了窗口的主界面,下面是Action编辑器以及信号和槽编辑器窗口。
我们从左侧部件列表中找到Label标签部件并拖动到界面上,然后双击,更改其显示文本为helloworld,如下图所示。
下面我们单击QtCreator左侧的
运行按钮来编译运行程序,这时会弹出保存修改对话框,如下图所示。这里选中构建之前总是先保存文件,然后点击保存所有文件按钮。
最后helloworld程序成功运行,效果如下图所示。
三、发布程序
1查看工程目录
这里会发现多了一个helloworldbuilddesktopQt481481目录,里面存放的就是编译生成的文件。这就是前面创建项目讲到的使用影子构建,如果没有选中这个,那么生成的文件就会和源码在同一个目录里。该目录的内容如下图所示。
这里有两个目录:debug和release,分别用于存放debug方式和release方式编译生成的可执行文件。因为编译时默认是debug版本,所以现在release目录中是空的。打开debug目录,可以看到生成的可执行文件helloworld。exe如下图所示。
此时双击helloworld。exe文件,会弹出系统错误提示框,表明丢失了mingwm10。dll文件。如下图所示。
其实我们可以在Qt安装路径下找到该文件,我这里是在C:Qt4。8。1bin中,将其复制到debug目录里面,然后还会提示缺少其他几个dll文件,依次将它们复制过来即可。完成后helloworld。exe就可以运行了。其实也可以先设置环境变量,以后在本机就可以直接运行生成的可执行文件了,这个可以参考下面的附录。
2编译release版本程序
可以看到debug版本的可执行文件需要的dll文件是很大的,因为其中包含了调试信息。而我们实际发布软件是使用的release版本,下面我们就来编译release版本的helloworld程序。如果前面关闭了QtCreator,那么需要在QtCreator中再次打开helloworld项目,可以从欢迎模式的开发页面中打开最近使用的项目,也可以从开始菜单中打开,还可以将源码目录中的。pro文件直接拖入到QtCreator来打开。
然后将版本设置为release版本,也就是发布版本。如下图所示。完成后运行程序即可。
最后,可以从release目录中将helloworld。exe复制出来,然后将需要的几个dll文件(跟debug版本的不是完全一样哦!)也复制过来,将它们放到一个文件夹中,打包进行发布。
补充:如果要给生成的exe可执行文件更换一个自定义图标,可以这样做:
1在项目中添加一个myapp。rc(名字可以随意)文件,然后在里面输入下面一行代码:IDIICON1ICONDISCARDABLEappico。ico
这里的appico。ico就是自己的。ico图标文件;
2在。pro项目文件中添加下面一行代码:RCFILEmyapp。rc
3重新编译
四、Qt工具介绍
安装好Qt后,会在开始菜单生成一个目录,如下图所示。
这里是Qt提供的几个工具软件。其中Assistant是Qt助手,它已经集成到了QtCreator中,就是帮助模式;Designer是Qt设计师,它也集成到了QtCreator中,就是设计模式;ExampleandDemos是Qt示例程序和演示程序,其中的演示程序就是一些比较大型的程序,这个我们在欢迎模式已经看到了,不过这里可以直接运行这些程序;Linguist是Qt语言家,是用来对软件进行国际化翻译的;下面的Qt4。8。1CommandPrompt可以用来进行命令行操作,比如使用命名来编译程序等。
五、附录
前面为了运行生成的helloworld。exe文件,复制了一些dll文件。其实,如果只想在本机运行程序,那么不必要每次都复制这些文件,只需要将path环境变量设置一下即可。我们在桌面计算机(我的电脑)图标上点击鼠标右键,选择属性,然后选择高级系统设置,在这里在高级页面选择环境变量,然后在系统变量中找到Path变量,双击,在变量值的最后,添加上Qt的bin目录的路径,我这里是;C:Qt4。8。1bin(注意,在最前面有个英文半角的分号)。如下图所示。
这样以后就不需要再复制那些dll文件了。其实,还有一种方式也不需要dll文件,那就是静态编译,不过使用静态编译的Qt程序很大,而且不够灵活,所以这里不再讲解,有兴趣的朋友可以在网上搜索一下。结语
这一篇中通过创建一个helloworld程序,主要讲解了QtCreator开发环境的创建以及Qt程序运行发布等内容。这一篇是最基本的知识,希望大家先看完本篇再来学习下面的内容。在《QtCreator快速入门》一书中对开发环境以及helloworld程序进行了更加详细深入的讲解,有需要的童鞋可以参考一下。
安徽的副县级镇,有望实现升级,经济可实现飞速发展!提到安徽的景点,相信我们每一个人的心中都会出现很多名字,这里有着壮美的山川河流,也有着珍贵的历史遗迹。在众多的景点中,安徽的山可以说是久负盛名了,黄山、九华山等都是远近闻名的景……
三年消失75个汽车品牌,全怪特斯拉?汽车市场似乎从来没有像近期这样,在年末年初的相接之时,反复因为车型价格调整引起关注和讨论。而且,各车企和品牌的动作并不一致。2022年12月,许多品牌宣布旗下车型涨价,包……
人生有七难,谁也躲不过!!(精辟)来源于天天炫拍2023011606:00发表于广东图文源于网络版权归原作者所有人生在世,常有不顺,一生短暂,困难颇多。但是在这个人生间,最难的莫过……
白癜风为什么难治疗呢?白癜风是一种皮肤疾病,想要恢复除了需要接受科学正规性的治疗,还需要做好日常护理,所以对于白癜风患者来说不要熬夜。在我们的身边有很多白癜风患者,白癜风不论是外观还是心理上对人的打……
世界杯C罗被说花心,再对比一下奥斯卡影帝小李子,C罗是一股清好多人说葡萄牙著名足球巨星C罗很花心,前前后后谈了十来个漂亮女友,但如今的他自从找了现任乔治娜后,情感方面基本上都已经定型了,虽然还没结婚,但很有稳定的状态感了。再看美国……
今年首批游戏版号发放,机构看好春节行业景气度恢复,AH股全线数据是个宝数据宝炒股少烦恼2023年首批游戏版号发放。昨日晚间,国家新闻出版署发布1月国产网络游戏审批信息,共88款游戏获批,其中国内各大游戏龙头均有所……
虞美人(组诗)虞美人作者:杜廷江主播:夏木没有见过罂粟虞美人便是罪过相似的模样,怎能为之高歌不以为自己的世界狭小总觉得他人把藩篱冲破好在虞姬没有白白……
牛仔衣过时了?别闹!记住这6个搭配法则,时髦着呢头条创作挑战赛春雨绵绵的季节,天气微凉,薄外套还要继续穿起来。适合春季的外套,最经典的要数牛仔衣。不仅帅气百搭,不挑身材,而且非常耐穿,可美可帅,无论搭配裤装还是裙装,都……
孩子!你好吗?孩子,十三年前今天的此时此刻,你正在经历着与我阴阳两隔的痛苦,妈妈的心都碎了!我不想让你临走前欠缺一次父爱(他一直不敢近距离的靠近你),急促的喘息声妈妈听了好心痛!我不知……
每一场比赛都是决战,波特的魔法究竟是如何消失的?记者寒冰报道拥有英超总身价仅次于曼城的豪华阵容,切尔西却打出保级队的成绩,难道都是波特的锅吗?这位在布莱顿成名的本土教练,为何离开海鸥军团就南橘北枳?波特曾经的魔法,到底是如何……
在贵州桥见诗与远方站在坝陵河大桥旁领略贵州高桥雄伟,走进坝陵河贵州桥梁科技馆探索贵州高桥奥秘安顺坝陵河大桥每天都有慕名而来的游客。观赏完黄果树瀑布的真山真水,再到坝陵河大桥感受大桥之雄伟,成为不……
直降4000元,QQ冰淇淋三款车型价格下调,奇瑞这波够诚意吗2023年3月27日0点起,奇瑞新能源旗下的纯电动微型车QQ冰淇淋、小蚂蚁以及无界Pro三款产品的官方指导价正式下调,最高降9000元。其中,QQ冰淇淋2022款奶昔从3。99……