QtFoundation
一. 准备
1.1 QT的SDK中各个目录和文件功能说明
QT安装好包含以下
- 安装路径:Qt 安装好后包含源码(SDK)、库、示例、手册、qtcreator 集成开发环
- 编译器: 在 qtcreator 中可以用 vs、MinGW(Minimalist GNU for Windows)来编译
- bin 文件夹:(执行程序时用)包含动态链接库(dll)、可执行文件、资源转化的 cpp 文
件的编译结果 - qml:QML 是一种描述性的脚本语言,文件格式以.qml 结尾。语法格式非常像 CSS(参考
后文具体例子),但又支持 javascript 形式的编程控制。 - include 文件夹:(编译环境时用)创建项目时,自带的头文件路径是指定好的
- lib 文件夹:(编译环境时用)创建项目时,自带的库路径是指定好的
- 如果手动创建项目,需要自己配置编译环境时用到的头文件、库的位置,以及执行程序时
用到 bin 目录下的文件位置 - mkspecs 文件夹:中有针对不同的编译环境的不同设置
- plugins 文件夹:中放置的是配置相关功能插件的 dll 文件
1.2 VS开发QT应用
- 安装qt插件
- 配置msvc
- 编写hello world
1.3 Qt Creator 主界面
它主要由主窗口区、菜单栏、模式选择器、构建套件选择器、定位器和输出表格等部分组成,简 单介绍如下
1.3.1 Qt Creator 主界面主界面介绍
1.3.2 功能介绍
- 菜单栏(Menu Bar)。这里有 8 个菜单选项,包含了常用的功能菜单。
- 模式选择器(Mode Selector)。Qt Creator 包含欢迎、编辑、设计、调试、项目和帮助 6
个模式,各个模式完成不同的功能,也可以使用快捷键来更换模式,它们对应的快捷键依次
是 Ctrl + 数字 1~6。 - 构建套件选择器(Kit Selector)。包含了目标选择器(Target Selector)、运行按钮(Run)、
调试按钮(Debug)和构建按钮(Building)4 个图标。目标选择器用来选择要构建哪个项目、
使用哪个 Qt 库,这对于多个 Qt 库的项目很有用。这里还可以选择编译项目的 debug 版
本或是 release 版本。运行按钮可以实现项目的构建和运行;调试按钮可以进入调试模式,
开始调试程序;构建按钮完成项目的构建。 - 定位器(Locator)。在 Qt Creator 中可以使用定位器来快速定位项目、文件、类、方法、
帮助文档以及文件系统。可以使用过滤器来更加准确地定位要查找的结果,可以在“工具”
→"选项"菜单项中设置定位器的相关选项。 - 输出窗格(Output Panes)。这里包含了问题、搜索结果、应用程序输出、编译输出 QML/JS
Console、概要信息、版本控制共 7 个选项,它们分别对应一个输出窗口,相应的快捷键依
次是 Alt + 数字 1~7。
二. Qt Creator 介绍以及 HelloWorld程序
2.1 用 Qt Creator 创建项目
三. QT国际化
3.1 pro文件 添加翻译包
-
#添加两个翻译包 TRANSLATIONS += chinese.ts english.ts
3.2 编写代码 加载语言文件
-
#include <QCoreApplication> #include<qdebug.h> #include <QTranslator> int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); //创建翻译器对象 QTranslator* trans = new QTranslator; //加载语言包文件 必须全路径 trans->load("D:/Code/C++/QT-Code/HelloWorld/chinese.qm"); //trans->load("D:/Code/C++/QT-Code/HelloWorld/english.qm"); //安装语言包 a.installTranslator(trans); qDebug() << QObject::tr("hello"); qDebug() << QObject::tr("hello world"); return a.exec(); }
3.3 更新翻译
3.3.1 更新翻译
- 工具->外部->Qt预言家->更新翻译
3.3.2 会在目录生成以下两个文件
- chinese.ts
- english.ts
3.4 编辑发布 (使用 Linguist 5.14.2 (MSVC 2017 64-bit) )
生成两个文件 文件名为 chinese.ts english.ts(与项目配置一致)
3.3.1 编辑ts文件(xml文件)
第一次打开需要填写设置
- chinese.ts设置
- chinese.ts设置
- 编辑chinese.ts翻译
- 编辑english.ts翻译
3.3.2 发布 生成qm文件(二进制文件)
- 工具->外部->Qt语言家->发布翻译
3.3.3 运行项目即可
- 切换语言,只需加载一个
//加载语言包文件 必须全路径 trans->load("D:\\Code\\QT-C++\\day01\\HelloWorld\\chinese.qm"); //trans->load("D:\\Code\\QT-C++\\day01\\HelloWorld\\english.qm");
四. Qt Widgets
4.1 创建项目
- 选择QWidget项目
- 选择Widget项目
五. Qt Designer 设计师
打开 Qt Designer 后,就会自动弹出“新建窗体”的对话框 Qt Designer 窗口主要区域介绍
5.1 Widget Box
Widget Box 提供了各种控件,可以直接用鼠标拖到创建好的主窗口中
5.2 Object Inspect
Object Inspector 中可以查看主窗体中放置的对象列表
5.3 Property Edito
Property Editor(属性编辑器)提供了对窗口、控件、布局的属性编辑
5.4 Signal/Slot Editor
信号/槽编辑器,可以为控件添加自定义的信号和槽函数
5.5 Resource Browser
六. HelloWorld(GUL)剖析
一. QT获取编辑区内容
1.1 Text Edit
#include<QLineEdit>
//创建QLineEdit对象
QLineEdit *qLineEdit=new QLineEdit();
//获取文本
QString qLineEdit=text->text();
//打印
qDebug()<<text;
//获取选选中文本
text=qLineEdit->selectedText();
//注意单行文本框使用按钮的时候会取消选中 会出现获取不到的情况
qDebug()<<text;
1.2 Line Edit 获取方式
#include<QTextEdit>
//创建QTextEdit对象
QTextEdit *textEnit=new QTextEdit();
//获取全部文本
QString text=textEnit->toPlainText();
//打印控制台
qDebug()<<text;
//获取文本框选中的文字
text=textEnit->textCursor().selectedText();
qDebug()<<text;