如何在QVBoxLayout中循环浏览所有小部件

How to cycle through all widget in a QVBoxLayout

本文关键字:小部 浏览 循环 QVBoxLayout      更新时间:2023-10-16

我通过拖放部分创建了一个QVBoxLayout。在运行时,我在里面插入了一些带有命令的小部件

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

我插入的所有小部件都属于相同的类型/类。

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

我想这真的很简单,但似乎找不到如何。。。

谢谢大家!

您可以使用QLayout::itemAt()在布局的项目上循环。然后使用QLayoutItem::widget()获取widget:

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

注意,widget()可能返回一个空指针。