2020-08-19 Qt中的数据结构
Qt常用的数据类型:
qint8 quint8
qint16 quint16
qint32 quint32
qint64 quint64
qreal (表示是float)
例如:求取绝对值
QCoreApplication a(argc, argv);
qreal value=-4.333;
qDebug()<<qAbs(value);
QString str("小明");//QString存储Unicode字符
QString str1="小张";
str1.append("垂钓");//添加
str1.prepend("今天,");
str1.replace(4,3,"换");//替换掉3个字
qDebug()<<str<<str1;
//boost库作为STL外的扩展库
拓展:boost库作为STL外的扩展库,可以去尝试使用一下
boost与QT之间的可以走进程间通信,通过STL接口
2.QString输出
QString name="老王";
int age=20;
QString information=QString("name is %1,age is %2").arg(name).arg(age);
qDebug()<<information;

3.QString与std::string的转换
//QString与std::string的转换
std::string stdstr=information.toStdString();//转成std::string
std::cout<<stdstr<<"\n";
qDebug()<<QString::fromStdString(stdstr);//转成QString
printf(stdstr.c_str());//转换成const char*,C语言接口

4.QByteArray
//QByteArray
//QByteArray can be used to store both raw bytes (including '\0's) and traditional 8-bit '\0'-terminated strings.
//QByteArray可用于存储原始字节(包括'\ 0')和传统的8位'\ 0'终止的字符串。
//与char类似
QByteArray ba("test\0");
qDebug()<<ba;
拓展:#include <QRegExp>//QT的正则表达式
5.Qt中的容器
帮助文档中搜索Container Classes

6.list与iterator的使用
//Qt的容器
//搜索container class获取更多信息
QList<QString> list;//模板类容器
list<<"A"<<"B"<<"C"<<"D";
list.append("E");
QString string1=list.at(0);
QList<QString>::iterator i;//使用读写迭代器
for(i=list.begin();i!=list.end();i++)
{
*i=(*i).toLower();//将大写转化为小写
qDebug()<<(*i);
}
//也可以使用C语言的写法
for (int i=0;i<list.size();i++) {
qDebug()<<list.at(i);
}

7.QMap的使用
需要头文件#include <QMap>
//Map的使用
QMap<int,QString> member;
member.insert(1,"小明");
member.insert(2,"小王");
member.insert(3,"小张");
QMap<int,QString>::iterator itor;
for (itor=member.begin();itor!=member.end();itor++) {
qDebug()<<itor.key()<<":"<<itor.value();
}
8.sort的使用,排序
QList<int> list2;
list2<<1<<5<<3<<4<<2;
std::sort(list2.begin(), list2.end()) ;
QList<int>::iterator i2;
for (i2=list2.begin();i2!=list2.end();i2++) {
qDebug()<<(*i2);
}
9.find键,修改值
itor=member.find(2);
itor.value()="老王";
for (itor=member.begin();itor!=member.end();itor++) {
qDebug()<<itor.key()<<":"<<itor.value();
}

本文深入探讨了Qt中的各种数据类型,如qint8、qint16、qint32等,以及QString的使用技巧,包括字符串操作、转换和输出。同时,详细介绍了Qt的容器类,如QList、QMap的使用方法,以及如何进行排序和查找操作。
3458

被折叠的 条评论
为什么被折叠?



