Qt 如何销毁具有特定类型的所有子窗口小部件
我使用Qt 如何销毁具有特定类型的所有子窗口小部件,qt,Qt,我使用QFrame上的循环和一些其他小部件创建了一些QPushButtons // Creation of some other widgets here ... for (int i = 0; i < 100; ++i) QPushButton *b = new QPushButton( this ); b->show(); } //在此处创建一些其他小部件。。。 对于(int i=0;ishow(); } 现在,我想销毁所有QpushButton,而不接触其他
QFrame
上的循环和一些其他小部件创建了一些QPushButtons
// Creation of some other widgets here ...
for (int i = 0; i < 100; ++i)
QPushButton *b = new QPushButton( this );
b->show();
}
//在此处创建一些其他小部件。。。
对于(int i=0;i<100;++i)
QPushButton*b=新的QPushButton(本);
b->show();
}
现在,我想销毁所有QpushButton,而不接触其他小部件,如何定位它们
注意:我没有使用布局保留所有QpushButton的集合,并在集合中迭代以删除它们。保留所有QpushButton的集合,并在集合中迭代以删除它们。您可以通过以下方式找到所有按钮:
QList<QPushButton *> allPButtons = parentWidget.findChildren<QPushButton *>();
您可以通过以下方式找到所有按钮:
QList<QPushButton *> allPButtons = parentWidget.findChildren<QPushButton *>();
您可以将其简化为一行:
qdeletall(parentWidget.findChildren())代码>您可以将其简化为一行:qdeletall(parentWidget.findChildren())代码>
QList<QPushButton *> Buttons;
for (int i = 0; i < 100; ++i)
QPushButton *b = new QPushButton( this );
Buttons << b;
b->show();
}
qDeleteAll(allButtons);
allButtons.clear();