2016-07-20 7 views
1

ドラッグアンドドロップで作成したQVBoxLayoutがあります。 実行時間内に、いくつかのウィジェットを、QVBoxLayout内のすべてのウィジェットを循環させる方法

ui-> verticalLayout-> insertWidget()//適切なオプションを使用して挿入します。

私が挿入するウィジェットはすべて同じタイプ/クラスです。

私は挿入されたウィジェットをいくつかの操作を実行するために循環させたいと思います。

私はそれは本当に簡単ですが、方法を見つけるように見えることはできませんと仮定し...

はあなたのすべてに感謝します!

答えて

1

QLayout::itemAt()を使用して、レイアウトの項目をループすることができます。 widget()はNULLポインタを返すことが

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

注:その後、ウィジェットを取得するためにQLayoutItem::widget()を使用しています。

+1

私は多くの質問をしているかもしれませんが、いくつかのサンプルコードを教えてください。 – Wing

+0

これは次のようなものです: for(int i = 0; i < layout-> count(); ++ i) do_something(layout-> itemAt(i) - > widget()); ウィジェット()メソッドがnullポインタを返すことがあるので注意してください。 – wasthishelpful

+0

ありがとうございました! 本当に役に立ちました! – Wing

関連する問題