在开发软件前,需要先搭建开发环境,针对不同的系统,不同的应用,搭建的开发环境也不同。由于本书目标是入门级的学习者,所以尽可能在让大家了解软件开发的相关知识的同时降低难度。本书需要的开发环境是Windows 7系统,Visual Studio 2010作为集成开发环境,并在Visual Studio 2010中加入图形用户界面软件Qt 5来进行交互界面的实现。
2.1 VS安装
Visual Studio是目前最流行的Windows平台应用程序的集成开发环境。集成开发环境(IDE,Integrated Development Environment)是提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器等工具;我们后面将使用Visual Studio 2010进行软件开发。
Visual Studio 2010 安装简便,只是耗时较长。相应的安装教程网上已有很多,在此不再累述。需要注意的是如果安装的版本是英文版,将不能够支持中文字符显示,所以尽量安装中文版。
2.2 Qt安装及配置
通常我们所接触的软件,通常都具有可视化的界面,界面上会有按钮,有能够输入信息的文本框...这些图形用户界面实现我们能够通过MFC、Qt等软件来完成,本书将简单介绍Qt的安装和使用,目的是带领大家了解如何实现软件的图形交互界面,并能够通过Qt编写简单的小软件,激发对软件设计的学习热情。在完成本书的学习后,想继续深入地学习Qt可以参考专门针对Qt的书籍。
首先,在安装Qt前,需要确认电脑系统为window 7以上版本(包含window 7);并且安装好VS2010,因为我们在后面会将Qt集成在VS下进行使用。
完成Qt安装所需要的文件有两个:
a) qt-windows-opensource-5.0.2-msvc2010_32-x86-offline.exe
b) qt-vs-addin-1.2.0-opensource.exe
以上Qt文件只针对VS2010,不同的Qt版本对应不同的VS版本。
注意:先安装qt-windows-opensource-5.0.2-msvc2010_32-x86-offline.exe,后安装qt-vs-addin-1.2.0-opensource.exe。
Step1:双击文件“qt-windows-opensource-5.0.2-msvc2010_32-x86-offline.exe”,点击“next”,进入如图2-1界面,将路径改为如下所示;(当然,也可以是其他路径,但有两个需要注意的:1.路径中不能包含中文字符;2.务必记住安装位置,后面VS2010配置Qt需要用到安装路径)
图2-1 Qt路径设置界面
Step2:后面不断点击Next即可,中间有一步让选择同意安装协议(不同意不能安装),其他无需注意;
Step3:安装完成qt-windows-opensource-5.0.2-msvc2010_32-x86-offline.exe后,开始安装qt-vs-addin-1.2.0-opensource.exe,该安装包除了安装路径需要更改外,其他点击“Next”即可,路径依旧不能够包含中文字符,推荐安装路径为D:\QT\Qt5VSAddin;
Step4:以上两步如何安装不出问题,那么VS2010打开以后会发现,界面的菜单栏中多了Qt5一项,如图2-2所示。
图2-2 集成Qt后的VS2010界面
然后点击VS2010的菜单栏中的Qt5,选中Qt Options一项,出现如图2-3所示的对话框。点击“ADD”。
图2-3 Qt Options界面
Step5:在“Version name”中输入我们安装的Qt的版本号——“5.0.2”;在“Path”一栏中输入“D:\Qt\Qt5.0.2\5.0.2\msvc2010”,如图2-4所示。注意:如果Qt安装时的路径和本书的安装路径不一致,那么这个Path对应的路径信息是不同的,但相同的是最后的路径信息一定是以“...\5.0.2\msvc2010”结尾的。
图2-4 Qt版本与路径信息
点击“OK”,完成Qt的安装。然后我们可以通过创建一个Qt Application项目来测试下Qt是否安装正确。点击“新建”->“项目”,如图2-5所示,输入项目名称“QtTest”,当然可以换成其他名称,注意不要包含中文字符以及其他非法字符即可。
图2-5 Qt项目创建界面
然后直接点击“Finish”,完成项目创建。此时,直接点击键盘上的“F5”,编译并运行程序,此时,将生成一个空窗口,如图2-6所示,表明我们的Qt安装正确。
图2-6 Qt空窗口
2.3 HelloWorld程序
接下来我们开始编写第一个程序,在这个过程中我们将学习工程的创建,工程创建好以后我们才能在工程下添加程序文件;然后将介绍程序最基本的结构,并完成第一个程序——在计算机上显示“HelloWorld!”。最终的结果如图2-7所示。
图2-7 HelloWorld程序编译生成结果
2.3.1 项目的创建与建立文件
1.进入Visual Studio 2010并建立工程
对于Visual Studio 2010这个工具,我们用到哪里学到哪里。通常我们写好的C++语言的程序保存在以“.cpp”结尾的文件中,而在写程序前,我们需要先创建项目工程(Project),然后在创建好的项目中添加“.cpp”文件来编写程序。接下来,我们开始完成以上操作。
进入Visual Studio 2010开发环境中,直接点击“起始页”中的“新建项目”,如图2-8所示;当然,也可以点击菜单栏的“文件”选项,然后点击“新建”,继续点击“项目”。
图2-8 新建项目示意图1
点击新建项目对话框中左侧的“Visual C++”,选择中间的“Win32控制台应用程序”,然后给项目命名以及确定项目保存的路径,如图2-9所示。
图2-9 新建项目示意图2
点击“确认”后,进入到“Win32应用程序向导”对话框,点击“下一步”,然后找到“空项目”,将“空项目”打钩,点击“确定”,完成项目创建。
2.建立文件
右键点击“HelloWorld”下的“源文件”选项,选择“添加”,继续选择“新建项”,如图2-10所示。
图2-10 建立文件示意图1
选择对话框中的“C++文件(.cpp)”选项,命名为“main”,“位置”设置通常不用改变,使用默认路径即可,如图2-11所示。
图2-11 建立文件示意图2
此时,“HelloWorld”项目下的“源文件”中出现“main.cpp”,双击“main.cpp”后界面出现一大片空白窗口,该窗口即代码编辑区域,我们将在这里进行程序编辑。
2.3.2 程序的基本结构及输入输出流
我们在代码编辑区域输入以下程序,如表2-1所示。书中代码会放入表格中,表格左侧一栏表示第几行代码,以方便程序表后面对程序进行解释,右边为程序代码正文。
表2-1 HelloWorld程序
|
1 2 3 4 5 6 7 8 9 |
#include<iostream> using namespace std; int main() { cout<<"HelloWorld!"<<endl; system("pause"); return 0; } |
以上程序输入完成后,按下F5键,Visual Studio 2010会对程序进行编译生成,如果以上过程每一步都没有问题,会出现前面图2-7的结果。注意:程序输入的时候一定使用英文输入法进行输入,因为中英文输入法的括号、分号看上去比较相近,但都是不同的,VS2010的C++编译器无法识别。
接下来进行程序说明。
(1)#include是文件预处理命令,将后面紧接着的文件名中的代码插入到这个位置;也就是说,#include<iostream>是将文件名为“iostream”的代码插入到这个地方,大家可能会问了——这个“iostream”是什么?
为什么要放入我们的程序当中?“iostream”是C++系统定义的一个“头文件”,当包含了这个头文件“iostream”以后我们可以使用该头文件定义的输入输出流,后面程序中的cout表示输出流对象,只有在输入了第1行的代码后才可以使用这个输出流对象cout。
(2)using namespace为使用名字空间命令,是为了避免同名冲突而引入的,std是C++自带的一个名字空间,它定义了C++的库标识符,比如输出流对象cout。输入using namespace std这条命令后我们就可以直接使用std里面的库标识符了;否则需要在标识符前面加上“std::”。如果没有这一句,第5行的代码需要修改为
std::cout<<”HelloWorld!”<<std::endl;
每一条语句完成后,要加上“;”表示该语句结束了。初学者容易犯的错误就是少打“;”,或者将“;”错打为中文输入法里面的“;”。
总的来讲,我们只要知道有了以上两条命令就可以使用输出流对象cout即可。本书后面会大量的使用这两条命令以及输出流对象cout。
(3)main()是主函数,是每一个C++程序都需要有的。而前面的int是标准的C++程序编写所提倡的,与后面第7行的return 0相呼应。大家当做固定用法记住即可,随着以后学习的深入,对这些命令的理解也会越加深入。
(4)第4行和第8行呼应,每个函数都包含两部分,一部分是声明,即第3行的代码内容;另一部分是执行部分,即大括号里面的代码内容(这里我们只接触主函数,后面第七章我们会正式讲解函数)。
(5)第5行命令实现了“HelloWorld!”的输出,该命令的格式为输出流对象cout后面跟两个“<<”,然后紧接着是输出的字符,字符需要使用双引号引起来,注意是英文输入法下的双引号;而后面跟着的“<<endl”表示换行。
大家尝试换一些词语或者句子进行输出。例如:我们想要输出两句话并且中间有换行:
你好,我是一名C++学习者!
好好学习,天天向上!
我们可以将第5行代码进行修改,修改后的命令为:
cout<<"你好,我是一名C++学习者"<<endl<<"好好学习,天天向上!"<<endl;
当然,也可以将这一条命令分拆为多条,例如:
cout<<"你好,我是一名C++学习者";
cout<<endl;
cout<<"好好学习,天天向上!"
cout<<endl;
(6)大家可以删除第6行的代码试一试,会发现程序编译生成后,出现一个黑框并且一闪而过;第6行的命令system(“pause”)正式为了让系统暂停下来。
(7)与输出流对象cout相应,还有输入流对象cin能够存储键盘输入的数据,这需要涉及到下一章变量的内容,我们放在下一章进行讲解。