在我當前的項目中,我有一組QCheckBoxes,它們是在運行時根據用戶的尺寸創建的。每次用戶點擊「生成」按鈕時,都會收集它們輸入的尺寸,並創建一個QCheckBoxes數組。它在下面的代碼完成:如何使用指向每個元素的指針向量來刪除QCheckBoxes的數組?
void MainWindow::on_generateBoxes_clicked()
{
int x_dim = ui->xDim->value();
int y_dim = ui->yDim->value();
int z_dim = ui->zDim->value();
for(int i = 0; i < x_dim; ++i){
for(int j = 0; j < y_dim; ++j){
checkBoxVector.append(new QCheckBox(ui->dim1));
checkBoxVector.last()->setGeometry(i * 20, j * 20, 20, 20);
}
}
}
checkBoxVector是在另一個源文件中聲明指針的全局數組:
QVector<QCheckBox*> checkBoxVector;
我的問題是,我將如何去通過checkBoxVector除去每QCheckBox?由於數組的前一維是局部變量,一旦函數返回就會丟失,當它被重新調用時,我將如何知道要刪除多少個元素?
如果用戶按兩次'Generate'按鈕,會出現重疊的QCheckBoxes,所以每次調用函數時都需要擦除它們。 (同樣,沒有人願意內存泄漏!)
謝謝,這個作品完美! –