范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

第1篇基础(一)Qt开发环境的搭建和helloworld

  导语
  从这一篇我们正式开始Qt编程。本篇主要讲解Qt编程环境的搭建。为了适应大多数读者的需要,同时为了避免系统环境的不同而产生不必要的问题,这里选择使用Windows系统的Qt版本。因为在前面几十篇中我们主要讲解基本Qt控件项目的桌面编程,所以没有使用SDK进行安装,而是采用了Qt库与Qt Creator分别下载安装的方式,这样就只需要下载Qt的桌面版本的库。而SDK中默认集成了Qt Creator和Qt桌面库以及Qt移动开发的库,这个会在第40篇至第50篇进行讲解。再者,鉴于Qt一次编写代码,多次编译运行的特点,在我们教程中讲解的例子都是可以直接在其他系统环境下(比如Linux系统)直接编译运行的。
  环境:Windows 7 + Qt 4.8.1+ Qt Creator 2.4.1  目录一、Qt 及 Qt Creator的下载和安装  二、创建hello world程序  三、发布程序  四、Qt工具介绍  五、附录  正文
  一、Qt 及 Qt Creator的下载和安装
  1.下载
  (已过时)
  下载Qt 4.8.1:ftp://ftp.qt-project.org/qt/source/qt-win-opensource-4.8.1-mingw.exe
  下载Qt Creator2.4.1:ftp://ftp.qt-project.org/qtcreator/qt-creator-win-opensource-2.4.1.exe
  最新下载地址:(已过时)
  所有版本的Qt下载地址:ftp://ftp.qt-project.org/qt/source/
  所有版本的Qt Creator下载地址:ftp://ftp.qt-project.org/qtcreator/
  最新下载地址:http://download.qt-project.org/
  其中snapshots里面包含了最新测试版本;official releases里面包含了官方发布版,即最终发布版; archive里面是Qt4.7及以前版本,Qt Creator2.5及以前版本。
  更新 (2013-5-1 已过时)
  提示:在最近的Qt Creator版本(2.5.0及以后)中已经默认不再包含MinGW,需要自己手动下载安装。可以在这里下载。(注:最新的Qt 5版本中已经默认包含了Qt Creator和MinGW,需根据自己实际情况操作。
  官方原文如下:  Notefor Windows MinGW Users
  Wedecided to remove the custom MinGW distribution and MinGW gdb from our QtCreator-only Windows binary distribution package. The original reas toinclude it there (it was the predecessor of the Qt SDK) are since a while nowfilled by the Qt SDK. Also, updating the shipped version is a legal hassle aslong as the binaries are provided through Nokia, but we also don’t want to shipstone age versi. We are working on build infrastructure for the Qt Projectitself though, that we ultimately want to use to build Qt Creator packages,snapshots, and more. Currently, on http://builds.qt-project.org , you find QtCreator snapshots for Linux and Windows, and also a Python enabled MinGW gdb(that reportedly doesn’t work on Windows XP). It’s still possible to installMinGW and gdb separately and register them in Qt Creator. Weare not removing the support for it from Qt Creator.
  Previouslyshipped MinGW: ftp://ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip
  Previously shipped MinGW gdb: ftp://ftp.qt.nokia.com/misc/gdb/7.2/qtcreator-gdb-7.2-mingw-x86.zip
  Upto date MinGW: http://www.mingw.org (we might provide acompact version like the one in the old installer later)
  Python enabled MinGW gdb 7.4: http://builds.qt-project.org/job/gdb-windows/ (compiledon Windows 7, doesn’t work on Windows XP)
  更新:2014-10-1
  在安装Qt 4.8.6及以后的Qt 4版本时,应该按照安装时的提示来下载相应版本的MinGW,不然编译程序无法运行。例如Qt 4.8.6安装时的提示如下图。
  可以直接点击提示给的链接来下载。也可以从这里下载。
  更新:(关于Qt 4.8搭配Qt Creator 2.5以后版本的MinGW和无法调试的情况,2013-7-1)
  注意:Qt 5以后版本默认包含了所有需要的工具,不存在这里的情况,直接下载安装即可使用!
  1.MinGW
  如果是Qt 4版本,需要使用GCC 4.4,也就是MinGW需要是4.4版本的,其他新的版本均不可用。
  下载:http://pan.baidu.com/share/link?shareid=1521902020&uk=2352291552
  备用地址:http://builds.qt-project.org/job/mingw32-windows/lastSuccessfulBuild/artifact/mingw32-qtproject.7z
  2.调试器GDB
  在Qt 4.8版本,需要下载并指定GDB才能正常调试。
  下载地址:http://origin.releases.qt-project.org/gdb/ 或到 社区下载页面进行下载
  从这里面根据自己的系统来下载合适的版本。
  下载完MinGW和GDB以后,将其解压到Qt的安装目录中,比如这里都解压到了C:Qt目录中。
  3.在Qt Creator中的设置。我们需要先在编译器中添加并制定gcc的路径,例如 C:Qtmingw32bingcc.exe   如下图所示:
  然后在Qt版本中添加并指定qmake的路径,如下图所示。
  最后在构建套件中添加并指定编译器、调试器和Qt版本。如下图所示。
  2.安装
  下载完成后先安装QtCreator,采用默认选项即可,安装路径推荐使用默认的C盘,因为这样可以与教程中的一致,在以后的内容中可以避免一些不必要的问题。然后安装Qt库,当在选择mingw目录时,需要设置为前面安装的Qt Creator目录下的mingw目录。如下图所示。
  二、创建hello world程序
  1.运行Qt Creator 从桌面上的快捷方式打开Qt Creator,进入眼帘的是Qt Creator的欢迎界面。如下图所示。
  Qt Creator分为了七个模式:欢迎模式、编辑模式、设计模式、调试模式、项目模式、分析模式和帮助模式,分别由左侧的七个图标进行切换,对应的快捷键是 Ctrl +   数字1到7。现在显示的就是欢迎界面,这里可以看到一些入门教程、开发的项目列表、Qt提供的示例程序,也可以创建或打开一个项目。
  2.创建项目
  我们使用欢迎页面上方的"创建项目"按钮来创建新的项目(当然也可以在文件菜单中创建项目)。在项目模板中选择Qt 控件项目,然后选择QtGui应用,这样便会生成一个一般的桌面Qt图形界面项目,如下图所示。其他项目的创建会在后面的教程中讲到。
  然后更改项目名称和路径,这里名称可以设置为 helloworld  ,注意名称和路径上都不要有中文。如下图所示。
  点击下一步后,会弹出目标设置对话框,这里显示没有有效的Qt版本,并提示需要在工具/选项菜单中进行设置。如下图所示。下面我们就来添加Qt版本。
  3.关联Qt库
  因为我们这里是分别下载Qt Creator和Qt库的方式,所以安装后它们并没有关联,这样是无法编译程序的。下面在Qt Creator中关联Qt库。打开工具→选项菜单,然后选择"构建和运行"一项,再进入Qt版本选项卡。如下图所示。
  我们可以手动设置Qt版本的关联,现在点击右上角的"添加"按钮,然后会让选择 qmake.exe  文件,我们在Qt(不是Qt Creator)安装目录的bin目录中找到该文件并打开。如下图所示。
  现在已经默认生成了版本信息,我们点击确定按钮即可。如下图所示。
  当设置完Qt版本,再次回到欢迎界面后,可以发现"演示和范例"中已经显示出了各种示例程序,大家可以打开自己需要的一个例子。这个我们先不进行讲解,下面继续来完成hello world程序。
  4.完成hello world项目
  还按照前面的流程创建项目,在目标设置页面默认选择为了桌面Qt版本,因为现在我们只关联了这一个桌面版本的Qt库,所以只能编译为桌面程序。如下图所示。这里可以选中"使用影子构建",这样编译生成的文件会和源码分别存放,这个在下面的内容中会看到。
  点击下一步,在显示的类信息中将基类选择为 QDialog  ,就是说我们将程序设置为了一个对话框,然后将类名更改为 MyDialog  。如下图所示。
  再点击下一步进入汇总页面,这里可以选择版本控制系统,我们这里没有用到,所以不进行设置,点击完成按钮来完成项目的创建。如下图所示。
  5.编辑运行项目
  创建完项目后会进入编辑模式,这里可以对项目文件进行查看和编辑。左侧是项目文件的列表,这里将项目中的文件分为了头文件、源文件等,进行分类显示。除了显示项目文件,还可以通过下拉菜单来选择类视图、大纲等内容。在右侧就是代码编辑区域,这里对关键字进行了高亮显示。如下图所示。
  我们双击界面文件中的 mydialog.ui  文件,进入设计模式。在这里可以对界面进行可视化设计,也就是所见即所得。左侧的是一些常用部件,可以直接拖动到界面上;右侧是对象和类列表,下面是部件的属性编辑窗口;在中间,上方是主设计区域,显示了窗口的主界面,下面是Action编辑器以及信号和槽编辑器窗口。
  我们从左侧部件列表中找到Label标签部件并拖动到界面上,然后双击,更改其显示文本为"helloworld",如下图所示。
  下面我们单击Qt Creator左侧的
  运行按钮来编译运行程序,这时会弹出保存修改对话框,如下图所示。这里选中"构建之前总是先保存文件",然后点击保存所有文件按钮。
  最后hello world程序成功运行,效果如下图所示。
  三、发布程序
  1.查看工程目录
  这里会发现多了一个 helloworld-build-desktop-Qt_4_8_1__4_8_1____  目录,里面存放的就是编译生成的文件。这就是前面创建项目讲到的 "使用影子构建" ,如果没有选中这个,那么生成的文件就会和源码在同一个目录里。该目录的内容如下图所示。
  这里有两个目录: 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程序。如果前面关闭了Qt Creator,那么需要在Qt Creator中再次打开helloworld项目,可以从欢迎模式的开发页面中打开最近使用的项目,也可以从开始菜单中打开,还可以将源码目录中的.pro文件直接拖入到QtCreator来打开。
  然后将版本设置为release版本,也就是发布版本。如下图所示。完成后运行程序即可。
  最后,可以从 release  目录中将 helloworld.exe  复制出来,然后将需要的几个dll文件(跟debug版本的不是完全一样哦!)也复制过来,将它们放到一个文件夹中,打包进行发布。
  补充:如果要给生成的exe可执行文件更换一个自定义图标,可以这样做:
  1.在项目中添加一个 myapp.rc  (名字可以随意)文件,然后在里面输入下面一行代码:  IDI_ICON1               ICON    DISCARDABLE     "appico.ico"
  这里的 appico.ico就  是自己的.ico图标文件;
  2.在 .pro  项目文件中添加下面一行代码:  RC_FILE = myapp.rc
  3.重新编译
  四、Qt工具介绍
  安装好Qt后,会在开始菜单生成一个目录,如下图所示。
  这里是Qt提供的几个工具软件。其中Assistant是Qt助手,它已经集成到了Qt Creator中,就是帮助模式;Designer是Qt设计师,它也集成到了QtCreator中,就是设计模式;Exampleand Demos是Qt示例程序和演示程序,其中的演示程序就是一些比较大型的程序,这个我们在欢迎模式已经看到了,不过这里可以直接运行这些程序;Linguist是Qt语言家,是用来对软件进行国际化翻译的;下面的Qt 4.8.1 Command Prompt可以用来进行命令行操作,比如使用命名来编译程序等。
  五、附录
  前面为了运行生成的 helloworld.exe  文件,复制了一些dll文件。其实,如果只想在本机运行程序,那么不必要每次都复制这些文件,只需要将 path  环境变量设置一下即可。我们在桌面计算机(我的电脑)图标上点击鼠标右键,选择属性,然后选择高级系统设置,在这里在高级页面选择环境变量,然后在系统变量中找到 Path  变量,双击,在变量值的最后,添加上Qt的 bin  目录的路径,我这里是 ;C:Qt4.8.1bin  (注意,在最前面有个英文半角的分号)。如下图所示。
  这样以后就不需要再复制那些dll文件了。其实,还有一种方式也不需要dll文件,那就是静态编译,不过使用静态编译的Qt程序很大,而且不够灵活,所以这里不再讲解,有兴趣的朋友可以在网上搜索一下。  结语
  这一篇中通过创建一个hello world程序,主要讲解了Qt Creator开发环境的创建以及Qt程序运行发布等内容。这一篇是最基本的知识,希望大家先看完本篇再来学习下面的内容。在《Qt Creator快速入门》一书中对开发环境以及hello world程序进行了更加详细深入的讲解,有需要的童鞋可以参考一下。

上海伊美娜美容公司某门店被罚侵害消费者权益来源中国经济网上海市市场监督管理局网站日前公布的行政处罚决定书(沪市监宝处2022132022000177号)显示,上海伊美娜美容管理连锁有限公司一二八纪念路店存在规定经营者单方享为什么印度能买到那么多世界上先进的军事装备呢?因为我国的存在,印度这个国家地缘优势非常大,在任何时期都有军事大国需要她。比如冷战时期苏联需要印度对我国进行战略遏制,哪怕是在1990年代末进行了核试验,美国对印度的制裁也迅速的被为什么肠道容易长息肉?大多与这4个因素有关,了解下你怎么了?看起来脸色不太好的样子,头上一直冒冷汗不知道啊,最近感觉肚子一直一阵一阵的疼,还拉肚子了除了拉肚子肚子疼,还有哪里不舒服的吗?感觉最近排便也比较困难,每次要使很大的劲才能海南周刊文海南周刊特约撰稿王素芳你能相信,一台老式打字机却见证了中国动画的诞生?那是在1922年,万古蟾万籁鸣万超尘万涤寰四兄弟接受商务印书馆的邀请,创作了一条舒振东华文打字机的动画广告片刘章宇把握百年历史经验锤炼过硬政治品格湘西州委常委州委组织部部长刘章宇习近平总书记强调党的历史是最生动最有说服力的教科书。党的百年奋斗重大成就和历史经验蕴含着以史为鉴开创未来的致胜法宝。从百年重大成就中坚定历史自信淬炼摄影基础知识ps图层混合模式介绍学后期一定会接触到PS的图层混合模式,特别是风光题材后期,接触得特别多。毕竟通过调整图层的不透明度以及使用蒙版都有一定的局限性,还是要学会使用各种图层混合模式才行。今天简单的把PS2022成都车展比亚迪护卫舰07首发预售22万起在2022成都车展上,比亚迪护卫舰07正式开启预售,预售2228万元。该车将提供DMi和DMp版本可选,预计四季度正式上市。外观方面,新车基本延续了XDREAM概念车的轮廓造型,偏2022成都车展比亚迪护卫舰07首发亮相新车首发在2022年的成都车展上,比亚迪的新车护卫舰07首发亮相,新车是比亚迪海洋网的重磅车型,定位中型SUV,预售价在22万28万元。外观上,新车大量采用之前XDREAM概念车上2022成都车展岚图FREEDNA售37。99万新车上市在2022年的成都车展上,岚图FREEDNA正式上市,新车是岚图与个性化定制品牌创纪DNA联合共创的产品,共推出2款车型,售价37。99万41。99万,限量3000台。外观生活金句20例1于高山之巅,方见大河奔涌,于群峰之上,更觉长风浩荡,挺立潮头,方知浪高风急,登高望远,才见云阔天高。一一人民日报2幸福都是奋斗出来的,曾经的风雨兼程化作春风细雨,润泽每一个和我一助力高品质民生人大代表在行动丨精心组织组团帮扶倾情帮扶解民困社情民意见成效淄博市五级人大代表征民意连民心解民忧助力品质民生三年行动开展以来,博山区人大常委会精心组织周密安排,实施组团式联系帮扶,精准制定联系帮扶措施,畅通社情民意办理渠道,为人大代表联系帮