大学期间浅学过Qt,并用Qt做过课程设计和毕业设计,很喜欢Qt。如今工作之余,再系统学习下Qt,并记录学习笔记。
1.Qt概述
Qt是一套应用程序开发库,但和MFC不同,Qt是跨平台的开发类库。
跨平台意味着只需要编写一次程序,在不同平台上无需改动或只需少许改动后再编译,就可以形成在不同平台上运行的版本。
2.Qt界面概述
- Qt Widgets Application:桌面平台的图形用户界面(GUI)应用程序;
- Qt Console Application:控制台应用程序,一般用于学习C/C++语言;
- Qt Quick Application:创建可部署的Qt Quick2应用程序。Qt Quick是Qt支持的一套GUI开发架构,采用QML设计界面,程序框架采用C++语言;
- Qt Quick Controls 2 Application:创建基于QT Quick Control2组件的可部署的Qt Quick 2应用程序;
- Qt Canvas 3D Application:基于QML语言的界面设计,支持3D画布;
3.main.cpp文件
4.Qt基本模块
Qt模块 | 描述 |
Qt Core | 其他模块都用到的核心非图形类 |
Qt GUI | 设计GUI界面用到的基础类,包括OpenGL |
Qt Multimedia | 音频、视频、摄像头和广播功能的类 |
Qt Multimedia Widgets | 实现多媒体功能的界面组件类 |
Qt Network | 使网络编程更简单和轻便的类 |
Qt QML | 用于QML和JavaScript语言的类 |
Qt Quick | 用于构建具有定制用户界面的动态应用程序的声明框架 |
Qt Quick Controls | 创建桌面样式用户界面,基于Qt Quick的用户界面控件 |
Qt Quick Dialogs | 用于 Qt Quick的系统对话框类型 |
Qt Quick Layouts | 用于 Qt Quick2的界面元素的布局项 |
Qt SQL | 使用SQL用于数据库操作的类 |
Qt Test | 用于应用程序和库进行单元测试的类 |
Qt Widgets | 用于构建GUI界面的C++图形组件类 |
5.字符串和数值之间的转换
QString类可以实现字符串和数值之间的转换。
- QString类从字符串转换为整数的函数有:
int toInt(bool* ok = nullptr, int base = 10);
long toLong(bool* ok = nullptr, int base = 10) const ;
short toShort(bool* ok = nullptr, int base = 10) const ;
uint toUInt(bool* ok = nullptr, int base = 10) const ;
ulong toULong(bool* ok = nullptr, int base = 10) const ;
- QString将字符串转化为浮点数的函数有:
double toDouble(bool* ok = nullptr) const;
float toFloat(bool* ok = nullptr) const;
- 希望显示2位小数,下面4行语句都可以实现这个功能:
str=Qstring::number(total,'f',2);
str=Qstring::asprintf("%.2f",total);
str=str.setNum(total,'f',2);
str=str.printf("%.2f",total);