我使用QFrame
和其他一些小部件的循环创建了一些QPushButtons
// Creation of some other widgets here ...
for (int i = 0; i < 100; ++i)
QPushButton *b = new QPushButton( this );
b->show();
}
现在我想在不触及其他小部件的情况下销毁所有QPushButtons,我该如何定位它们?
nb:我没有使用布局
答案 0 :(得分:3)
您可以通过以下方式找到所有按钮:
QList<QPushButton *> allPButtons = parentWidget.findChildren<QPushButton *>();
比你可以全部删除
qDeleteAll(allButtons);
allButtons.clear();
答案 1 :(得分:2)
保留所有QPushButtons的集合并遍历集合以删除它们。
答案 2 :(得分:0)
QList<QPushButton *> Buttons;
for (int i = 0; i < 100; ++i)
QPushButton *b = new QPushButton( this );
Buttons << b;
b->show();
}
现在您只能删除在该循环中创建的按钮。
qDeleteAll(allButtons);
allButtons.clear();