2016-07-20 4 views
1

드래그 앤 드롭 섹션을 통해 만들어진 QVBoxLayout이 있습니다. 내부에서 실행 시간에 몇 가지 위젯을QVBoxLayout의 모든 위젯을 순환하는 방법

ui-> verticalLayout-> insertWidget() // 적절한 옵션을 사용하여 삽입합니다.

삽입 한 모든 위젯은 동일한 유형/클래스입니다.

위젯을 통해 몇 가지 작업을 수행하기 위해 삽입 된 위젯을 차례로 살펴보고 싶습니다.

내가 정말 간단하지만 방법을 찾을 수 없습니다 생각 ...

여러분 모두 감사합니다!

답변

1

QLayout::itemAt()을 사용하여 레이아웃 항목을 반복 할 수 있습니다. widget()가 널 포인터를 반환 할 수 있다는

for(int i = 0; i < layout->count(); ++i) 
{ 
    do_something(
     layout->itemAt(i)->widget() 
    ); 
} 

참고 : 다음 위젯을 얻을 수 QLayoutItem::widget()를 사용합니다.

+1

많은 질문을하고 있을지 모르지만 샘플 코드를 좀 보여 주시겠습니까? – Wing

+0

그것은 그런 일해야한다 : 대한 (0 = 난을 int로 내가 < layout-> 수를(); ++ I) do_something (레이아웃 -> itemAt (I) -> 위젯()); 위젯() 메서드가 null 포인터를 반환 할 수 있습니다. – wasthishelpful

+0

대단히 감사합니다! 정말 도움이되었습니다. – Wing