如何循环遍历 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 一个空指针。
我有一个通过拖放部分创建的 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 一个空指针。