Qt之QListWidgetItem的添加與刪除


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.界面

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM