Qt5 学习之路及嵌入式开发教程6:QMap类、QVariant类、基本控件
一、QMap、QHash类
1、语法及含义
QMap<Key,T>:表示一个从类型为Key的键到类型为T的值的映射。
例:QMap<“172025101”,“张三”>表示为学号为“172025101”对应的同学姓名为“张三”。
2、编程示例(单值输入)
在QMap中进行插入、遍历和修改
(1)、建立控制台程序
选择后,命名、两个下一步后点击完成。
⑵、进入编辑界面,输入代码,理解其中含义
①、插入头文件
②、建立学生对象
③、遍历输出
运行结果:
(3)、在原代码后添加代码,对原记录进行修改
①、对数据进行修改
②、修改后输出
(4)、最后输出结果
①、原数据
②、修改后数据
(3)多值输入
①、建立控制台工程,输入代码
②、理解每段代码所表示的含义,试着输出2班的课程。
③、运行结果:
二、QVariant类
1、QVariant类类似于C++的联合(union)数据类型,QVariant类作为一个最为普遍的Qt数据类型的联合。因为c++禁止没有构造函数和析构函数的联合体,许多继承的Qt类不能够在联合体当中使用。(联合体当中的变量共用一个存储区),没有了联合变量,我们在物体属性以及数据库的工作等方面受到很多的困扰。
一个QVariant对象在一个时间内只保留一种类型的值。我们可以使用canConvert来查询是否能够转换当前的类型。转换类型一般以toT()命名。
2、QVariant类例子
(1)建立控制台程序
(2)在main.cpp中输入代码
运行结果:
三、基本控件
1、按钮组(Buttons)
例1:Push Button按钮简单例子
界面式:
(1)、创建项目工程
选择后:下一步后,选择基类名为:QDialog,下一步点击完成
(2)、打开界面文件dialog.ui,设计界面
(3)、打开控件后,拖曳Push Button控件到右侧设计界面。
(4)、编辑右侧控件的属性:
①、文本为:退出
②、设置按钮大小和位置
③、设置按钮最大最小范围
④、设置字体
(5)、完成信号槽功能:单击“退出后”,对话框关闭
右击“退出”按钮,找到“转到槽”,出现如下界面。
点击“OK”后,完成添加代码:
(6)、运行程序,查看结果:
若想在对话框左上角为定义标题:在main.cpp中添加一行代码
代码式完成上面例子:
(1)、创建工程,取消“创建界面”复选框选中状态,最后点击“完成”
(2)、打开dialog.cpp文件,编辑代码,完成界面设计
②、导入头文件
③、设置最大,最小值
④、建立按钮变量,文本为:退出
⑤、设置位置和大小、字体
⑥、建立连接信号槽
(3)、打开dialog.h文件,添加信号槽函数
(4)、打开dialog.cpp文件,完成信号槽函数功能:①为自定义槽函数功能
(5)、运行程序,查看功能。