qt qmap中存储qlabel,并遍历
时间: 2023-08-13 22:29:35 浏览: 162
可以使用QMap<QString, QLabel*>来存储QLabel,并使用QMap的迭代器进行遍历。具体代码如下:
```c++
#include <QMap>
#include <QLabel>
#include <QString>
#include <QDebug>
int main()
{
// 创建QMap
QMap<QString, QLabel*> labelMap;
// 添加QLabel
QLabel* label1 = new QLabel("Label1");
QLabel* label2 = new QLabel("Label2");
QLabel* label3 = new QLabel("Label3");
labelMap.insert("label1", label1);
labelMap.insert("label2", label2);
labelMap.insert("label3", label3);
// 遍历QMap
QMap<QString, QLabel*>::const_iterator iter;
for (iter = labelMap.constBegin(); iter != labelMap.constEnd(); ++iter)
{
qDebug() << iter.key() << ": " << iter.value()->text();
}
// 删除QMap中的QLabel
labelMap.remove("label1");
labelMap.remove("label2");
labelMap.remove("label3");
// 释放QLabel的内存
delete label1;
delete label2;
delete label3;
return 0;
}
```
这个例子中,我们创建了一个QMap,存储了三个QLabel,并使用迭代器遍历输出了QMap中的所有QLabel。最后,我们删除了QMap中的QLabel,并释放了它们的内存。
阅读全文