0
예를 들어 label_1
, label_2
, label_3
및 label_4
의 4 개의 Q 라벨이 있습니다. 각각은 다른 값을 가지고 있으며 루프에있는 각각의 값을 하나씩 차례로 액세스하려고합니다.루프를 사용하여 QLabel에 포함 된 텍스트에 어떻게 액세스합니까?
예를 들어 label_1
, label_2
, label_3
및 label_4
의 4 개의 Q 라벨이 있습니다. 각각은 다른 값을 가지고 있으며 루프에있는 각각의 값을 하나씩 차례로 액세스하려고합니다.루프를 사용하여 QLabel에 포함 된 텍스트에 어떻게 액세스합니까?
각 레이블에 이름을 부여하는 대신 QVector<QLabel*>
과 같은 레이블을 컨테이너에 넣어야합니다. 그러면 루프를 통한 액세스는 전혀 문제가되지 않습니다. 색인에서 벡터를 찾으십시오.
어떤 이유로 든 네 개의 라벨을 독립적으로 선언해야하는 경우 다른 클래스 멤버로 그 라벨을 붙이면 문제가 없습니다. 클래스에서
:
QVector<QLabel*> labels;
당신의 생성자에서 : 그들에
// build the four labels
labels.append(label_1);
labels.append(label_2);
...
으로 반복 :
foreach (QLabel *l, labels) {
// whatever with l
}
for (unsigned i = 0; i < labels.size(); i++) {
// whatever with labels[i]
}
감사합니다! 실제로 목록은 상당히 길 수도 있습니다 ** ** 100 ~ 500 ** qlabels에 걸쳐 있습니다. 맨 위에있는 모든 레이블의 목록이 문제가되지 않을까요? 다른 클래스의 사용자에게 액세스하고 싶습니다. 그와 함께 제안 할 수 있습니까? – Jino
"맨 위에있는 모든 레이블의 목록은 문제"입니다. 테이블보기 또는 뭔가를 사용하십시오. 그것은 UX와 관련이 없으며 위와는 관련이 없습니다. 다른 인스턴스에서 액세스하는 것과 관련하여 위젯이나 컨테이너에 특별한 것은 없으며 일반 C++ 규칙이 적용됩니다. – Mat
감사합니다 !! 그것을 밖으로 시도 할 것이다 !! – Jino