2014-03-27 59 views
0

我創建使用循環在QFrame有的QPushButtons一些其他部件如何銷燬所有的子控件具有某種類型的

// Creation of some other widgets here ... 
for (int i = 0; i < 100; ++i) 
    QPushButton *b = new QPushButton(this); 
    b->show(); 
} 

現在,我想消滅所有的QPushButtons不接觸其他小部件,我如何瞄準它們?

注:我沒有使用佈局

回答

2

您可以通過以下方式所有按鈕:

QList<QPushButton *> allPButtons = parentWidget.findChildren<QPushButton *>(); 

比你可以刪除它們

qDeleteAll(allButtons); 
allButtons.clear(); 
2

保留所有QPushButtons的收集和循環訪問集合刪除它們。

0
QList<QPushButton *> Buttons;  


for (int i = 0; i < 100; ++i) 
    QPushButton *b = new QPushButton(this); 
    Buttons << b; 
    b->show(); 

} 

所以現在你只能刪除您在這個循環中創建的按鈕。

qDeleteAll(allButtons); 
allButtons.clear(); 
相關問題