Qt学习——容器类QList和QMap
这里容器类与C++和Java的容器类相差不多,主要看看是什么用法。这里只贴代码,就不做解析了。1.QList用法:需要注意的是T只包括一些基本数值类型(比如int和double等)和Qt的一些数据类型(比如QString,QDate和QTime等)。Qt的QObj
·
这里容器类与C++和Java的容器类相差不多,主要看看是什么用法。这里只贴代码,就不做解析了。
运行结果:
1.QList<T>用法:
需要注意的是T只包括一些基本数值类型(比如int和double等)和Qt的一些数据类型(比如QString,QDate和QTime等)。Qt的QObject及其他的子类(比如QWidget和QDialog等)是不能够存储在容器类中的。 可替代方案是存储QObject及其子类的指针(如QList<QToolBar*> list;)。
QList<int> list;
list<<1<<2<<3<<4<<5;
QList<int>::iterator i;
for(i=list.begin();i!=list.end();++i)
{
qDebug()<<(*i);
*i=(*i)+10;
}
2.QMap<key,T>的用法:
这个比较好用,可以根据key查询value。在平常编程中我常用到这个和List。
QMap<QString,QString> map;
map.insert("beijing","111");
map.insert("shanghai","021");
map.insert("jinan","0531");
QMap<QString,QString>::iterator i;
for(i=map.begin();i!=map.end();++i)
{
qDebug()<<i.key()<<" "<<i.value();
}
i=map.find("beijing");
if(i!=map.end())
i.value()="010";
3.还有其他的容器类:
比如QHash,QQueue,QLinkedList,QVector,QStack等。以后用到再细看吧!
我写的测试代码如下:
我写的测试代码如下:
#include <QDebug>
int main()
{
QList<int> list;
list<<1<<2<<3<<4<<5;
QList<int>::iterator i;
for(i=list.begin();i!=list.end();++i)
{
qDebug()<<(*i);
*i=(*i)+10;
}
QMap<QString,QString> map;
map.insert("beijing","111");
map.insert("shanghai","021");
map.insert("jinan","0531");
QMap<QString,QString>::iterator ii;
for(ii=map.begin();ii!=map.end();++ii)
{
qDebug()<<ii.key()<<" "<<ii.value();
}
ii=map.find("beijing");
if(ii!=map.end())
ii.value()="010";
return 0;
}
运行结果:
1
2
3
4
5
"beijing" "111"
"jinan" "0531"
"shanghai" "021"
更多推荐
已为社区贡献1条内容
所有评论(0)