ui->setupUi( this ); ui ->listWidget->setViewMode(QListView::IconMode); // 设置显示图标模式 ui->listWidget->setIconSize(QSize( 80 , 80 )); // 设置图标大小 ui->listWidget->setGridSize(QSize( 100 , 100 )); // 设置item大小 // 设置QLisView大小改变时,图标的调整模式,默认是固定的,可以改成自动调整 ui->listWidget->setResizeMode(QListView::Adjust); // 自动适应布局 // 列表中的图标默认可以拖动,如果想固定不能拖动,使用QListView::Static ui->listWidget-> setMovement(QListView::Static); // 新建item QListWidgetItem* it1 = new QListWidgetItem(QIcon( " :/icon/jpeg.png " ), " 1 " ); QListWidgetItem * it2 = new QListWidgetItem(QIcon( " :/icon/jpeg.png " ), " 2 " ); QListWidgetItem * it3 = new QListWidgetItem(QIcon( " :/icon/jpeg.png " ), " 3 " ); QListWidgetItem * it4 = new QListWidgetItem(QIcon( " :/icon/jpeg.png " ), " 4 " ); QListWidgetItem * it5 = new QListWidgetItem(QIcon( " :/icon/jpeg.png " ), " 5 " ); // 添加item ui->listWidget-> addItem(it1); ui ->listWidget-> addItem(it2); ui ->listWidget-> addItem(it3); ui ->listWidget-> addItem(it4); ui ->listWidget-> addItem(it5); MainWindow:: ~ MainWindow() delete ui; void MainWindow::on_PushButton_clicked() int n=ui->listWidget->count(); // 获取item的总数 // 删去所有item for ( int i= 0 ;i<n;i++ ) 使用takeItem(row)函数将QListWidget中的第row个item移除, 移除需要使用delete手动释放其在堆上占用的空间 QListWidgetItem *item = ui->listWidget->takeItem( 0 ); // 这里是0,不是i,因为每移除一个item都会导致每个item的row发生变化 delete item;