在listWidget中水平添QListWidgetItem,點擊按鈕刪除全部QListWidgetItem,下面直接上代碼,代碼中有每一步的註釋。函數
1 #include "mainwindow.h"
2 #include "ui_mainwindow.h"
3 #include<QListWidget>
4 #include<QDebug>
5 MainWindow::MainWindow(QWidget *parent) : 6 QMainWindow(parent), 7 ui(new Ui::MainWindow) 8 { 9 ui->setupUi(this); 10 ui->listWidget->setViewMode(QListView::IconMode); //設置顯示圖標模式
11 ui->listWidget->setIconSize(QSize(80, 80)); //設置圖標大小
12 ui->listWidget->setGridSize(QSize(100, 100)); //設置item大小 13
14 // 設置QLisView大小改變時,圖標的調整模式,默認是固定的,能夠改爲自動調整
15 ui->listWidget->setResizeMode(QListView::Adjust); //自動適應佈局 16 // 列表中的圖標默承認以拖動,若是想固定不能拖動,使用QListView::Static
17 ui->listWidget->setMovement(QListView::Static); 18 //新建item
19 QListWidgetItem* it1 = new QListWidgetItem(QIcon(":/icon/jpeg.png"),"1"); 20 QListWidgetItem* it2 = new QListWidgetItem(QIcon(":/icon/jpeg.png"),"2"); 21 QListWidgetItem* it3 = new QListWidgetItem(QIcon(":/icon/jpeg.png"),"3"); 22 QListWidgetItem* it4 = new QListWidgetItem(QIcon(":/icon/jpeg.png"),"4"); 23 QListWidgetItem* it5 = new QListWidgetItem(QIcon(":/icon/jpeg.png"),"5"); 24 //添加item
25 ui->listWidget->addItem(it1); 26 ui->listWidget->addItem(it2); 27 ui->listWidget->addItem(it3); 28 ui->listWidget->addItem(it4); 29 ui->listWidget->addItem(it5); 30 } 31
32 MainWindow::~MainWindow() 33 { 34 delete ui; 35 } 36
37 void MainWindow::on_PushButton_clicked() 38 { 39 int n=ui->listWidget->count();//獲取item的總數 40 //刪去全部item
41 for(int i=0;i<n;i++) 42 { 43 /*
44 使用takeItem(row)函數將QListWidget中的第row個item移除, 45 移除須要使用delete手動釋放其在堆上佔用的空間 46 */
47 QListWidgetItem *item = ui->listWidget->takeItem(0); //這裏是0,不是i,由於每移除一個item都會致使每一個item的row發生變化
48 delete item; 49 } 50 }