7列表控件的操作

列表控件的操作,删除,添加、显示进入的目录文件
1,界面设计

2,头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QListWidgetItem>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
    Q_OBJECT
public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
private slots:
    void on_addCity_clicked();
    void on_deleteCity_clicked();
    void on_deleteAll_clicked();
    void on_showDirBtn_clicked();
    void on_listWidget_itemClicked(QListWidgetItem *item);
    void on_listWidget_itemDoubleClicked(QListWidgetItem *item);
private:
    Ui::Widget *ui;
};
#endif // WIDGET_H
3,源文件
#include "widget.h"
#include "ui_widget.h"
#include <QListWidgetItem>
#include <QStringList>
#include <QMessageBox>
#include <QDebug>
#include <QDir>
#include <QFileDialog>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->listWidget->setViewMode(QListView::IconMode);
    connect(ui->lineEdit,SIGNAL(returnPressed()),this,
            SLOT(on_addCity_clicked()));
}
Widget::~Widget()
{
    delete ui;
}
//添加条目
void Widget::on_addCity_clicked()
{
    QString cityNmae=ui->lineEdit->text();
    if(cityNmae.isEmpty())
    {
        return ;
    }
    QListWidgetItem *item=new QListWidgetItem;
    item->setText(cityNmae);
    ui->listWidget->addItem(item);
    ui->lineEdit->clear();
}
//删除所单击的条目
void Widget::on_deleteCity_clicked()
{
    QListWidgetItem *item=ui->listWidget->takeItem(ui->listWidget->currentRow());
    delete item;
}
//删除所有的项目
void Widget::on_deleteAll_clicked()
{
    int counter=ui->listWidget->count();
    for(int index=0;index<counter;index++)
    {
       QListWidgetItem *item=ui->listWidget->takeItem(index);
       delete item;
    }
}
//显示进入的目录
void Widget::on_showDirBtn_clicked()
{
    ui->listWidget->clear();
    QDir dir=QDir::currentPath();
    QStringList fileName=dir.entryList();
    if(fileName.size()==0)
    {
        QMessageBox::information(this,"Error Message",
                                 "No file Selected");
        return ;
    }
   for(int index=0;index<fileName.size();index++)
   {
       if(fileName.at(index)=="."||fileName.at(index)=="..")
       {
           continue;
       }
       QListWidgetItem *item=new QListWidgetItem;
       item->setText(fileName.at(index));
       ui->listWidget->addItem(item);
   }
}
//显示单击的项目
void Widget::on_listWidget_itemClicked(QListWidgetItem *item)
{
    QMessageBox::information(this,"information",
                          "singal clicked"+item->text());
}
//显示双击的项目
void Widget::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
{
    QMessageBox::information(this,"information",
                          "double clicked"+item->text());
}
博文索引  持续更新中。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值