文章目录
- [第二章 Qt5模板库、工具类及控件](#第二章 Qt5模板库、工具类及控件)
-
- [2.2 容器类](#2.2 容器类)
-
- [2.2.1 QList类](#2.2.1 QList类)
- [# 2.3 QVariant类](# 2.3 QVariant类)
- [#2.4 算法及正则表达式](#2.4 算法及正则表达式)
第二章 Qt5模板库、工具类及控件
2.2 容器类
2.2.1 QList类
c
//2.2容器类 - QList类
QList<QString> list;//声明了一个QList<QString>栈对象
{
QString str("this is a test string");
list <<str;//通过<<将QString 字符串存储在该列表中
}//花括号为作用域
qDebug()<<list[0]<<"how are you";
# 2.3 QVariant类
c
//2.3 QVariant类 类似于联合体
QVariant v(709);//声明一个QVariant变量v,初始化为一个整数
qDebug()<<v.toInt();//QVariant变量的内容转换为整型输出
QVariant w("How are you! ");//声明一个QVariant变量w,并初始化为一个字符串
qDebug()<<w.toString();
QMap<QString,QVariant>map;//声明一个QMap变量map,使用字符串作为键,QVariant变量作为值
map["int"]=709;
map["double"]=709.709;
map["string"]="How are you! ";
map["color"]=QColor(255,0,0);
qDebug()<<map["int"]<< map["int"].toInt();
qDebug()<<map["double"]<< map["double"].toDouble();
qDebug()<<map["string"]<< map["string"].toString();
qDebug()<<map["color"]<< map["color"].value<QColor>();
QStringList sl;//创建一个字符串列表
sl<<"A"<<"B"<<"C"<<"D";
QVariant slv(sl);//将该列表保存在一个QVariant变量中
if(slv.type()==QVariant::StringList)
{
QStringList list=slv.toStringList();
for(int i=0;i<list.size();++i)
qDebug()<<list.at(i);
}
#2.4 算法及正则表达式
cpp
//Qt5常用算法 Qt的<QtAlgorithms>、<QtGlobal>,调用<QDebug>即可
double a = -13.3,b=9.7;
double c = qAbs(a);//取绝对值
double max = qMax(b,c);//取最大值
int bn=qRound(b);//四舍五入取整数
int cn=qRound(c);
qDebug()<<"a="<<a;
qDebug()<<"b="<<b;
qDebug()<<"c = qAbs(a)"<<c;
qDebug()<<"bn=qRound(b)"<<bn;
qDebug()<<"cn=qRound(c)"<<cn;
qSwap(bn,cn);//交换两数的值
qDebug()<<"qSwap(bn,cn):"<<"bn="<<bn<<"cn"<<cn;