更多:Qt…
1、简介
Qt 是一个著名的跨平台C++图形用户界面应用程序开发框架。它不仅仅是一个 GUI库,更像一个“一站式”的解决方案,你不再需要研究 STL,不再需要到处去找解析 XML、连接数据库、访问网络的各种第三方库,因为 Qt 自己内置了这些技术。
2、相关链接
官网:https://www.qt.io/
官方下载链接:
http://download.qt.io/
Qt下载链接:
http://download.qt.io/archive/qt/
Qt Creator下载链接:
http://download.qt.io/archive/qtcreator/
Qt VS开发插件下载链接:
http://download.qt.io/archive/vsaddin/
Qt官方文档链接:
http://doc.qt.io/
3、Qt、Qt Creator、Visual Studio、与编译器之间的关系
Qt相当于一个封装好的 SDK。
Qt Creator相当于一个 IDE,与 Visual Studio类似的不同的产品而已。
IDE可以使用指定的编译器与调试器来编译及调试程序。
Visual Studio默认使用微软的 – Microsoft Visual C++ Compiler(cl.exe)来编译程序,使用
Debugging Tools for Widows(cdb.exe)来调试程序。
Qt Creator可以使用微软的编译器与调试器来开发,也可以使用 MinGW(GCC)来编译,使用 GDB作为调试器。
总结一下,Qt在 Windows下的开发环境的几种方案:
IDE | 编译器 | 调试器 |
---|---|---|
VS | cl | cdb |
Qt Creator | cl | cdb |
Qt Creator | MinGW(gcc) | gdb |
注意:当使用 vs来开发qt应用程序的时候,需要安装一个官方的 VS开发插件,上面有链接。
4、关于Qt Quick、QML
Qt Quick是Qt 4.7 中推出的一项新技术(QML的框架),让用户可以使用 QML更快速高效地开发应用程序,旨在让UI与后台逻辑最大化的分离,一统桌面端和移动端。
QML是 Qt Quick开发框架中支持的一种脚本语言,功能类似 html + css + js的结合,具体表现有差异而已。
import QtQuick 2.4 import QtQuick.Window 2.2 import QtQuick.Controls 1.2 /* 这是一个多行注释,和c语言的一样 */ // 当然这是一个单行注释 Window { id:root; // Window元素的id,应该保证在这个qml文件中名字唯一 visible: true; width: 460; // 直接指定窗口的宽度 height: 288; // 直接指定窗口的高度 Image { id: bg; width: parent.width; // 图片的宽度依赖父窗口的宽度 height: parent.height; // 图片的高度依赖父窗口的高度 source: "qrc:///images/sky.jpg" // 引用一张图片 } Image { id: rocket; x: (parent.width - width) / 2; // 图片位置水平居中 y: 40; // 图片位置距离父窗口40 source: "qrc:///images/rocket.png"; } Text { // 没有指定id,即这是一个匿名元素 y:rocket.y + rocket.height + 20; // 文本顶部距离rocket图片底部20 anchors.horizontalCenter: parent.horizontalCenter // 设置文字水平居中 text: qsTr("火箭发射!"); // 设置文本显示的文字 color: "#ff2332"; // 设置文本颜色 font.family: "楷体"; // 设置字体为楷体 font.pixelSize: 30; // 设置文字大小 } }
Qt Quick Application 是QML和C++的结合,比较适合做界面类的东西。
Qt Widgets Application 是传统的 c++框架。
5、Qt各种版本之间的差异
6、VS + VS开发插件 + Qt 环境搭建
- 安装相应版本的 Visual Studio
我安装的 vs2013,这个不介绍了
- 下载 Qt,安装
我下载的版本是: http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.3/5.3.2/qt-opensource-windows-x86-msvc2013_64_opengl-5.3.2.exe
大家可以根据需要下载,默认安装即可。
我的安装路径是:
C:\Qt\Qt5.3.2
C:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl
注意:如果你要生成32位的应用程序的话,还是需要再下载一个32位的版本: http://iso.mirrors.ustc.edu.cn/qtproject/archive/qt/5.3/5.3.2/qt-opensource-windows-x86-msvc2013_opengl-5.3.2.exe
安装的时候注意修改一下目录,比如C:\Qt\Qt5.3.2_x86
- 下载 VS开发插件,安装
我下载的版本是:http://iso.mirrors.ustc.edu.cn/qtproject/archive/vsaddin/qt-vs-addin-1.2.4-opensource.exe
默认安装
- 设置
待上面3个都成功安装完毕后,打开 vs2013,会发现菜单栏多了一个QT5的菜单。
单机此菜单,选择Qt Options,在弹出的对话框中选择Qt Versions选项卡,单击右侧的Add按钮,会弹出新建设置 Qt版本的对话框,在Version name中输入版本名称(可随意),Path中输入 Qt安装的位置。
我设置的是:
Version name : msvc2013_64_opengl_532
Path : C:\Qt\Qt5.3.2\5.3\msvc2013_64_opengl
- 新建测试工程
设置完毕后,在 vs的菜单中选择新建项目。会发现在项目模版中多了一个 Qt5 Project的选项,在右侧选择Qt Application,填写项目名称及位置,确定,在项目向导中有一个项目设置,你可以选择你需要的组件,比如 Quick、QML、Newwork、OpenGL、SQL、WebKit、XML。点击完成,就创建了一个默认的空的 Qt项目了。
- 编译运行
Qt项目默认输出目录为当前目录的 Win32\Debug、Win32\Release、x64\Debug、x64\Release。
如果你编译时,出现Qt 模块计算机类型“x64”与目标计算机类型“X86”冲突类似的错误,
解决方法是在当前工程上右击,选择Qt Project Settings,在Properties 选项卡中的Version 一栏中选择上面设置的对应的 Version name。
并且根据 Qt的版本,在工程属性的平台中选择正确的项(Win32 or x64),
还要在 链接器-高级-目标计算器 中选择正确的项(MachineX86 (/MACHINE:X86) or MachineX64 (/MACHINE:X64))
注意:编译32位和64位的应用程序时,需要重新选择相应的 Qt版本,即对应的 Version name,前提是你的计算机上同时安装了32位和64位的 Qt。
打包:
在开始菜单处,选择相应版本的 Qt命令行工具 “Qt 5.3 for Desktop (MSVC 2013 OpenGL)”,
切换到打包目录中,(比如 ***\Packet\),先将应用程序拷贝到其中(比如叫 QtDemo.exe),
在命令行中输入:
windeployqt QtDemo.exe 就会将所有 Qt依赖项全拷贝到打包目录中。