[英]How to keep track of QLabel created in a loop using new operator
我正在使用 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));
可以像數組一樣訪問這些指針:
QLabel *first = labels[0];
或者通過使用迭代器:
std::vector<QLabel*>::iterator itr = labels.begin();
QLabel *first = *itr;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.