1.實現的功能
在listWidget中水平添QListWidgetItem,點擊按鈕刪除所有QListWidgetItem,下面直接上代碼,代碼中有每一步的注釋。
2.代碼實現
#include "mainwindow.h" #include "ui_mainwindow.h" #include<QListWidget> #include<QDebug> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { 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; } }
3.界面

