Qt 学习笔记 --Qt SDK 的下载安装与配置

Qt 学习笔记 --Qt SDK 的下载安装与配置
2010年12月16日
  称:Qt 学习笔记之一 ―― Qt SDK 的下载安装与配置
  作者:alwayzy
  邮箱:alwayzy@gmail.com
  时间:2010.09.04
  声明:转载请注明出处
  对 Qt (其官方中文网站 http://qt.nokia.com/title-cn)的兴趣不是一天两天了,终于着手开始学习。接触了几天,遇到过一些问题,有了一些体会和认识,记录下来免得日后遗忘同时也给那些遇到了相同问题的朋友和后来者以参考。
  Qt 经过这么多年的发展,已经发展成为一个完整的基于 C++ 语言的跨平台的桌面应用程序开发解决方案。随着 Nokia 对其收购后授权协议 LGPL 的引入以及集成开发环境的不断优化增强,特别是新的 Qt Creator 的发布和不断更新,必将促使 Qt 在 Windows, 类 Unix 以及移动平台等更多平台和领域里有更广阔到发展。【LINUX公社 www.LinuxIDC.com 】
  第一步,下载和安装 Qt SDK
  从 Qt 的官方网站 http://qt.nokia.com/downloads-cn 下载最新的 qt-sdk 安装包,截止本文发布时的最新版本为 2010.04。Qt SDK 中包括最新完整的 Qt 4.6.3 库, Qt Creator 2.0 以及 Qt Designer 等开发工具。目前官方提供 5 个平台的 Qt SDK,分别是 Windows 版, Linux (32位,64位)两个版本,Mac 版本和用于移动平台的 Nokia Qt SDK(针对不同的开发平台又有若干版本)。本文仅对 Qt SDK 在 Windows 和 Linux/32位 平台上的安装做下简要到介绍。
  先介绍 Windows 平台,下载 Qt SDK for Windows (293 Mb), 地址是 http://get.qt.nokia.com/qtsdk/qt-sdk-win-opensource-2010.04.exe,本 SDK 的开发包是基于 MinGW 工具集。下载后双击 qt-sdk-win-opensource-2010.04.exe 进行安装,安装过程中可以自定义安装路径,但路径中不能有中文字符!建议直接使用默认的安装路径即可。安装老外的软件,一个基本原则就是,不要使用路径中含有 ‘A’-‘Z’, ‘a’-‘z’, ‘0’-‘9’, '.', '-', '_' 以外字符的路径名称,这样可以避免很多莫名其妙不可理喻的问题;安装完成后,会在桌面上创建 Qt Creator 到快捷方式,双击该快捷方式就可以进入到 Qt 到可视化开发环境下。通常在 Qt Creator IDE 中,不需要进行额外的配置即可正常编写、编译、调试、运行程序,但需要注意:如果系统里安装了 VC 等开发工具,这些工具可能会在系统的环境变量中添加 Include 和 Libs 等变量以方便在命令行下用 nmake 之类的工具编译、生成程序,但这些设置与 Qt Creator IDE 是有冲突的。如果不需要进行命令行的操作,可以将 Include 和 Libs 删除,这样 Qt Creator IDE 环境下编译 Qt 程序的时候就会使用刚刚安装的 Qt SDK 中的头文件和库。
  Linux 下的安装就简单多了,我用的是 Ubuntu (Kubuntu 也一样),默认安装的 Ubuntu(Kubuntu)还需要安装 GNU 的编译工具集,否则 Qt Creator 无法编译链接程序,安装命令如下:
  $ sudo apt-get install build-essential
  然后用 wget 或者 MultiGet 等下载工具下载 Qt SDK for Linux/X11 32-bit (371 Mb), 地址是 http://get.qt.nokia.com/qtsdk/qt-sdk-linux-x86-opensource-2010.04.bin。完成后,在终端中为安装包增加可执行权限
  $ chmod u+x qt-sdk*
  然后
  $ ./qt-sdk*
  运行安装包。
  默认情况下,会安装在当前用户目录下,如果用
  sudo ./qt-sdk*
  安装,则会安装到 /opt 目录下。
  安装过程中会提示需要用户手动安装扩展依赖的库 libglib2.0-dev,libSM-dev,libxrender-dev,libfontconfig1-dev,libxext-dev,如果需要用到 OpenGL 则还需要安装 libgl-dev 和 libglu-dev,而这两个库是在 libglu1-mesa-dev 包中。因此,一个安装完整依赖包的命令是:
  $ sudo apt-get install libglib2.0-dev libSM-dev libxrender-dev libfontconfig1-dev libxext-dev libglu1-mesa-dev
  手动添加了扩展依赖的包之后,继续 Next 完成 Qt SDK for Linux/X11 32-Bit 的安装即可。
  安装完成后,在桌面上会有 Qt Creator 的快捷方式,双击快捷方式打开 Qt Creator 的 IDE 环境就可以了。
  第二步,Qt Creator 的配置和使用
  经过上面的安装过程,Qt Creator 无需进行任何配置,即可很好的进行工作。当然为了符合自己平时的使用习惯,可以通过 IDE 环境主菜单 "Tools"-"Options" 打开参数设置窗口对诸如 代码编辑器,调试器,Qt 库,UI 设计器,项目默认参数,版本控制工具等进行设置,具体到设置由于涉及的内容较多,本人也没有完全掌握,仅对几个个人认为重要但比较隐蔽的功能介绍一下,其他更多到设置,相信细心点肯定可以找到符合自己使用习惯的参数配置,如果实在找不到,那就慢慢变成习惯吧。用户到习惯都是这么培养出来的。
  1,在多个打开的工程中激活不同的工程。说实话,这个切换的菜单或者功能,我找了很久,终于在偶然间发现了。如图一所示:
  
  
  
  
  图中鼠标所处的下拉列表中可以选择激活的工程,点击该下拉列表后的结果如图二所示:
  
  
  
  
  从图中可以看出本人打开了两个工程 untitled 和 untitled1。当前激活的工程在 Qt Creator IDE 主窗口的工程列表中会以粗体字显示其工程名称。如图三所示的 untitled 工程:
  
  
  
  
  2,切换工程的 Debug 和 Release 配置。在图一中可以看到鼠标下方有个显示为 "Debug" 的下来列表框,点击此框即可在同一个工程的 Debug 和 Release 或者更多配置之间切换。
  3,管理工程配置,在 Qt Creator IDE 主窗口左侧的列表中选择 Projects 项,即可在右侧的窗口中针对不同的工程(通过 Tab 页选择)修改 生成设置、运行设置、编辑器(指定源码文件所用的编码)设置和项目依赖关系设置等。 其中生成设置里可以添加、删除工程的配置(默认情况下,IDE 环境会自动生成 Debug 和 Release 两个配置),也可以修改现有配置的参数,比如该配置所使用的 Qt 库,qmake 的命令参数,自定义生成步骤等等。
  4,切换源码文件。由于Qt Creator IDE 的代码编辑器没有使用 Tab 页的方式管理已经打开的源码文件,因此切换文件也要提一提,有两种方式可以在打开的文件之间切换,一种是双击默认布局下的 “Open Documents” 列表中的文件,另一种是使用代码编辑窗口上方工具栏上 “Go Forward” 按钮(一个向右的箭头)右侧的下拉列表。
  5,设置断点及调试。在 Qt Creator IDE 中,调试和设置断点支持快捷键,并且默认情况下与 VC 中的快捷键相同,即: F5-启动调试,Shift+F5-结束调试,F9-设置/取消断点,F10-Step over,F11-Step Into,Shift+F11-Step out 等。
  Qt Creator IDE 中绝大部分的界面元素都有 Tooltip 提示,鼠标放上去后会有关于该项的说明和快捷键名(如果该操作支持快捷键的话),非常方便和直观。
  第三步,测试一下环境
  Qt SDK 中附带了很多示例程序,安装在 qtsdk-2010.04/qt/demos 和 qtsdk-2010.04/qt/examples 两个目录下。可以通过 Qt Creator IDE 的主菜单 "File"-"Open File or Project" 选择一个 Qt 的工程文件(后缀为 pro),用附带的编写正确的工程对 IDE 环境进行编译、调试等步骤进行测试,也可以在 Qt Creator IDE 的欢迎界面上,通过 "choose an example" 打开一个附带到例子程序对 IDE 环境进行测试。
  第四步,万事俱备,只欠东风
  经过上面到安装、配置、测试,一切都通过后,就可以写自己的 Qt 应用了。怎么写? 呃,这个内容可以写一本很厚很厚的书了。
  Nokia 已经为 Qt SDK 做了很方便的安装包,其中 Nokia Qt SDK 是针对移动平台的开发包,其他 Qt SDK 则是针对 PC 平台,这些安装包中都带有 Qt Creator 这个很不错的 IDE 环境,如果同时安装 Nokia Qt SDK 和 Qt SDK for PC,就会安装两套 Qt Creator,不免有些拖沓。 下面机遇 Ubuntu 10.04 LTS amd64 环境,介绍一下同时安装 Nokia Qt SDK 和 Qt SDK for Linux 而只用一套 Qt Creator IDE环境的过程。
  首先,对于 Qt SDK for PC, 不能直接用 Nokia 制作好的安装包,因为里面的 Qt Creator 是必选项,必须要安装的。只能使用 Qt SDK 的源码自己编译。先到 http://qt.nokia.com/downloads/linux-x11-cpp 下载 Qt libraries 4.7.1 for Linux/X11 这个源码包,假设保存到 ~/tmp 目录下,下载的文件名为 qt-everywhere-opensource-src-4.7.1.tar.gz。然后使用 gunzip 和 tar 这两个命令解压缩:
  gunzip qt-everywhere-opensource-src-4.7.1.tar.gz
  tar xvf qt-everywhere-opensource-src-4.7.1.tar
  进入到 qt-everywhere-opensource-src-4.7.1 目录下,运行脚本:
  .configure
  然后开始生成,这个依机器性能不同,所需的时间也不同,不过通常需要的时间都比较长:
  make
  生成结束,下面的命令安装库,默认安装到 /usr/local/Trolltech/Qt-4.7.1 目录下:
  make install
  然后再配置路径,以便后面安装的 Qt Creator 能找到这个库,编辑 /etc/profile 文件:
  sudo vi /etc/profile
  再最后添加下面一行:
  export PATH="/usr/local/Trolltech/Qt-4.7.1/bin:$PATH"
  然后保存并退出编辑,运行下面的命令使设置生效:
  source /etc/profile
  到此,Qt-4.7.1 的库就已经编译,安装,设置完成。在 /usr/local/Trolltech/Qt-4.7.1/ 目录下,保存了 Qt 开发所用的工具如 qmake,moc,lupdate 以及头文件、库文件和一些示例程序的源码等等。
  下面再说说安装 Nokia Qt SDK,这个就比较简单了,从 http://www.forum.nokia.com/info/sw.nokia.com/id/e920da1a-5b18-42df-82c3-907413e525fb/Nokia_Qt_SDK.html 处下载 Linux 64 (596MB) 这个包,不要下载带有 online 字样的包,它是在线安装的,除非带宽足够,否则安装过程会很缓慢。下载的文件为 Nokia_Qt_SDK_Lin64_offline_v1_0_2_en.run, 需要先为它增加可执行权限,才能正常运行安装,用如下命令:
  chmod u+x Nokia_Qt_SDK_Lin64_offline_v1_0_2_en.run
  然后运行安装:
  sudo ./Nokia_Qt_SDK_Lin64_offline_v1_0_2_en.run
  按照提示,一步步完成就可以了,默认会装到 /opt/NokiaQtSDK 目录下。
  默认安装的 Nokia Qt SDK 在“应用程序“菜单中创建的快捷入口有点问题,一个问题是,没有图标,再一个问题是系统重启后,菜单项就消失了。要解决这两个问题,请参考 http://www.linuxidc.com/Linux/2010-12/30185.htm 这篇文章。
  再下面就需要配置一下 Qt Creator 了。如果按照上面的顺序安装了 Qt SDK 4.7.1 和 Nokia Qt SDK,那么对 Qt Creator 的配置就很简单了。
  启动 Qt Creator,点击 Tools 主菜单下的 Options 项,打开选项设置窗口,在左边的列表中选择 Qt4 ,此时应该可以看到 Auto-detected 项下的 Qt in PATH 右侧已经加入了 qmake 的位置: /usr/local/Trolltech/Qt-4.7.1/bin/qmake。如果没有,可能是因为对 /etc/profile 的修改没有生效,可以重启系统试试。选中这一行,看下面 debugging helper 处如果显示一个红色的 X, 就需要点击右侧的 Rebuild 按钮,重新生成一下。而在 Manual 项下,则有两行,分别是: Simulator Qt for GCC (Nokia Qt SDK) 和 Qt for Fremantle PR1.3 Devices (Nokia Qt SDK), 他们各自的右侧也都正确显示了对应的 qmake 路径,用上面的方法依次检查他们各自的 debugging helper 是否显示正常的绿色对号,如果没有,就 Rebuild 一下。
  至此,整个安装过程就结束了。下面分别在不同的环境下写 hello world 程序,验证安装是否正常,这里就不详细介绍了。
  如果编译过程中出现错误,无法编译通过,请参考 《Qt 学习笔记之一 ―― Qt SDK 的下载安装与配置》 (http://www.linuxidc.com/Linux/2010-12/30186.htm) 添加依赖的库,然后再试。
  最后,上面安装的只是 Qt 的开发环境和库,如果需要对 Symbian 做底层开发,还需要安装单独的 Symbian SDK,而且貌似没有 for linux 的。这里就不多说了,而且 Symbian 现在被业界一片唱衰,趋势很不明朗,还是静观其变吧。
已标记关键词 清除标记
相关推荐
<p> <span style="color:#337FE5;"><strong>【为什么还需要学习C++?】</strong></span> </p> <p style="margin-left:0cm;"> 你是否接触很多语言,但从来没有了解过编程语言的本质? </p> <p style="margin-left:0cm;text-align:start;"> 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? </p> <p style="margin-left:0cm;text-align:start;"> 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹? </p> <p style="margin-left:0cm;text-align:start;">   </p> <p style="margin-left:0cm;text-align:start;"> 那么C++就是你个人能力提升,职业之路进阶的不二之选。 </p> <p style="margin-left:0cm;text-align:start;"> <br /> </p> <p style="margin-left:0cm;text-align:start;"> <br /> </p> <p style="margin-left:0cm;"> <strong><span style="color:#337FE5;">【课程特色】</span></strong> </p> <p style="margin-left:0cm;text-align:start;"> 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。 </p> <p style="margin-left:0cm;text-align:start;"> 2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。 </p> <p style="margin-left:0cm;text-align:start;"> 3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。 </p> <p style="margin-left:0cm;text-align:start;"> <br /> </p> <p class="ql-long-24357476"> <span style="color:#337FE5;"><strong>【学完后我将达到什么水平?】</strong></span> </p> <p class="ql-long-24357476"> 1.对C++的各个知识能够熟练配置、开发、部署; </p> <p class="ql-long-24357476"> 2.吊打一切关于C++的笔试面试题; </p> <p class="ql-long-24357476"> 3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。 </p> <p class="MsoNoSpacing" style="margin-left:18pt;"> <br /> </p> <div> <br /> </div> <p> <br /> </p> <p style="margin-left:0cm;text-align:start;"> <span style="color:#337FE5;"><strong>【面向人群】</strong></span> </p> <p style="margin-left:0cm;text-align:start;"> <span style="color:#222226;font-family:PingFangSC-Regular, "font-size:14px;background-color:#FFFFFF;">1.希望一站式快速入门的C++初学者;</span> </p> <p style="margin-left:0cm;text-align:start;"> <span style="color:#222226;font-family:PingFangSC-Regular, "font-size:14px;background-color:#FFFFFF;">2.希望快速学习 C++、掌握编程要义、修炼内功的开发者;</span> </p> <p style="margin-left:0cm;text-align:start;"> <span style="color:#222226;font-family:PingFangSC-Regular, "font-size:14px;background-color:#FFFFFF;">3.有志于挑战更高级的开发项目,成为资深开发的工程师。</span> </p> <p style="margin-left:0cm;text-align:start;"> <br /> </p> <p> <br /> </p> <p> <span style="color:#337FE5;"><strong>【课程设计】</strong></span> </p> <p> 本课程包含3大模块 </p> <p> <strong>基础篇</strong><br /> 本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。 </p> <p> <br /> <strong>进阶篇</strong><br /> 本篇主要讲解编程中常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。 </p> <p> <br /> <strong>提升篇:</strong><br /> 本篇可以帮助学员更加高效的进行c++开发,其中包含类型转换、文件操作、异常处理、代码重用等内容。 </p> <p> <img src="https://img-bss.csdnimg.cn/202007091130239667.png" alt="" /> </p>
百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此景,笔者只专注Android、Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除,从账户中取出amt,如果amt>账户余额抛出异常,一个实体Bean可以表示不同的数据实例,我们应该通过主键来判断删除哪个数据实例…… ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程接口的引用,用远程接口的引用访问EJB。 EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,但是它的主要作用是供程序使用的。本规范尝试满足大型主机、微型主机、个人工作站、和TACs 的不同需求。例如,容易实现协议的设计。 Java EJB中有、无状态SessionBean的两个例子 两个例子,无状态SessionBean可会话Bean必须实现SessionBean,获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,计算利息等;在有状态SessionBean中,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存中清除…… Java Socket 聊天通信演示代码 2个目标文件,一个服务器,一个客户端。 Java Telnet客户端实例源码 一个目标文件,演示Socket的使用。 Java 组播组中发送和接受数据实例 3个目标文件。 Java读写文本文件的示例代码 1个目标文件。 java俄罗斯方块 一个目标文件。 Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密   Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。   设定字符串为“张三,你好,我是李四”   产生张三的密钥对(keyPairZhang)   张三生成公钥(publicKeyZhang)并发送给李四,这里发送的是公钥的数组字节   通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示。 java凭图游戏 一个目标文件,简单。 java求一个整数的因子 如题。 Java生成密钥的实例 1个目标文件 摘要:Java源码,算法相关,密钥   Java生成密钥、保存密钥的实例源码,通过本源码可以了解到Java如何产生单钥加密的密钥(myKey)、产生双钥的密钥对(keyPair)、如何保存公钥的字节数组、保存私钥到文件privateKey.dat、如何用Java对象序列化保存私钥,通常应对私钥加密后再保存、如何从文件中得到公钥编码的字节数组、如何从字节数组解码公钥。 Java数据压缩与传输实例 1个目标文件 摘要:Java源码,文件操作,数据压缩,文件传输   Jav
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页