如何循环遍历 QVBoxLayout 中的所有小部件

How to cycle through all widget in a QVBoxLayout

我有一个通过拖放部分创建的 QVBoxLayout。 在 运行 TIME 里面,我用命令

插入了一些小部件

ui->verticalLayout->insertWidget() //使用适当的选项。

我插入的所有小部件都是相同的type/class。

我想循环浏览插入的小部件,以便对它们执行一些操作。

我想这真的很简单,但似乎无法找出如何...

谢谢大家!

您可以使用QLayout::itemAt() to loop on the items of the layout. Then use QLayoutItem::widget()获取小部件:

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

注意 widget() 可能 return 一个空指针。