久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

列表控件的操作

 ylsnData 2017-12-28
一:列表控件的操作,刪除,添加,、顯示進入的目錄文件
1,界面設(shè)計

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());
}
博文索引  持續(xù)更新中,。,。,。

?二:列表控件的其他操作
?(1)item中添加數(shù)據(jù)

? 添加:
? setData(Qt::UserRole,"123");
? 讀取:
? data(Qt::UserRole).toString();
?因為:Qt::UserRole的值為32,所以下面的代碼是等價的
? 添加:
? setData(32,"123");
? 讀?。?br>? data(32).toString();
?
?(2)item位置的移動
? 實現(xiàn)思路:首先得到當(dāng)前項的位置信息,,之后刪除當(dāng)前的項,再插入到合適的位置,。
?int index=ui->listWidget->currentRow(); //得到當(dāng)前的索引值
             if(index==0)  //往上移動已經(jīng)到了第一項,不進行任何操作
             {
                return;
             }
             QListWidgetItem *item=ui->listWidget->takeItem(index);; //刪除當(dāng)前的選中項
             //將當(dāng)前的選中項插入到合適的位置
             ui->listWidget->insertItem((index-1),item);
             ui->listWidget->setCurrentRow((index-1)); //設(shè)置該項為當(dāng)前項

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多