我正在Qt中使用new
运算符在循环内创建许多标签,如下所示:
QLabel *p;
for(int i=0; i<10; i++)
{
p = new QLabel(this);
// ...
}
现在发生了什么,当我使用p
时,它指向序列中的最后一个标签,但是我想使用我的第一个标签。如何跟踪每个标签?
您可以使用std::vector
存储所有标签指针:
std::vector<QLabel*> labels;
for (int i=0; i<10; i++)
labels.push_back(new QLabel(this));