zoukankan      html  css  js  c++  java
  • Qt QListWidgetItem的添加与删除

    1.实现的功能

    在listWidget中水平添QListWidgetItem,点击按钮删除所有QListWidgetItem,下面直接上代码,代码中有每一步的注释。

    2.代码实现

     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 }

    3.界面

  • 相关阅读:
    清除页面广告?身为前端,自己做一款简易的Chrome扩展吧
    Nginx 引入线程池,提升 9 倍性能
    调试时屏蔽JavaScript库代码 –Chrome DevTools Blackbox功能介绍
    收集的React.JS资料
    谈谈 React.js 的核心入门知识
    同时包含字母和数字的正则表达式
    Word2010撤销按钮失效,Ctrl+Z失效解决办法
    大数据于产业金融领域的运用究竟如何很好的实现
    HTTP 错误 500.19
    WindowsServer2012桌面图标设置
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13890135.html
Copyright © 2011-2022 走看看