zoukankan      html  css  js  c++  java
  • 城市列表

    #ifndef MAINWINDOW_H
    #define MAINWINDOW_H
    
    
    #include <QMainWindow>
    #include <QListWidgetItem>
    namespace Ui {
    class MainWindow;
    }
    
    
    class MainWindow : public QMainWindow
    {
        Q_OBJECT
    
    
    public:
        explicit MainWindow(QWidget *parent = 0);
        ~MainWindow();
    
    
    private slots:
        void on_addbutton_clicked();
    
    
        void on_deletebutton_clicked();
    
    
        void on_deleteAll_clicked();
    
    
        void on_showdir_clicked();
        void singleclickslot(QListWidgetItem*);
    
    
        void doubleclickslot(QListWidgetItem*);
    private:
        Ui::MainWindow *ui;
    };
    
    
    #endif // MAINWINDOW_H

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    //QListWidget  QListWidgetItem
    #include <QDebug>
    #include <QListWidgetItem>//项
    #include <QStringList>
    #include <QDir>
    #include <QMessageBox>
    #include <QFileDialog>  //获得文件
    #include <QDebug>
    //添加图标
    //双击信号接受不到
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
       
        //默认列表显示   修改为图标显示
        ui->listWidget->setViewMode(QListView::IconMode);
     //连接 enter健
        connect(ui->lineEdit,SIGNAL(returnPressed()),this,SLOT(on_addbutton_clicked()));
    
    
        connect(ui->listWidget,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(singleclickslot(QListWidgetItem*)));
        connect(ui->listWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(doubleclickslot(QListWidgetItem*)));
    }
    
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    
    void MainWindow::on_addbutton_clicked()
    {
        //create item
        QString cityname = ui->lineEdit->text();
        QListWidgetItem *item= new QListWidgetItem;
        //set item
        item->setText(cityname);
        //add item to listwidget
        ui->listWidget->addItem(item);
        ui->lineEdit->clear();
    }
    
    
    void MainWindow::on_deletebutton_clicked()
    {
            //delete      获得当前行的行的项
        QListWidgetItem *item=ui->listWidget->takeItem(ui->listWidget->currentRow());
        if(item!=NULL)
        delete item;
    }
    
    
    void MainWindow::on_deleteAll_clicked()
    {
        int count=0;
        while(1)
            {
        //从第一行开始删除
            QListWidgetItem *item=ui->listWidget->takeItem(count);
             if(item!=NULL)
            delete item;
             if(ui->listWidget->count()==0)
                 {
    
    
                    qDebug()<<"clear ok!";
                    break;
             }
        }
    }
    
    
    void MainWindow::on_showdir_clicked()
    {   //获得当前路径的文件  
       // QStringList filenames = QFileDialog::getOpenFileNames(this,"Open files",QDir::currentPath());
           ui->listWidget->clear();
           //获得文件夹路径
        QDir dir=QDir::current();
        QStringList filenames=dir.entryList();
        if (filenames.size() == 0)
    {
            QMessageBox::information(this,"Error","No file select");
            return;
        }
    for(int index=0;index<filenames.size();index++)
        {//不显示  .. .
            if(filenames.at(index)=="."||filenames.at(index)=="..")
                continue;
    
    
        QListWidgetItem *item = new QListWidgetItem;
        item->setText(filenames.at(index));
        //添加到部件列表
        ui->listWidget->addItem(item);
    }
    }
    
    
    void MainWindow::singleclickslot(QListWidgetItem* item)
    {
        QMessageBox::information(this,"information","single click"+item->text());
    }
    
    
    void MainWindow::doubleclickslot(QListWidgetItem* item)
    {
         QMessageBox::information(this,"information","double click"+item->text());
    }
    
    
    
    

  • 相关阅读:
    CI工具Jenkins的安装配置【linux】——jenkins集成sonarqube-异常解决
    高可用架构,期刊下载
    struct
    Fragment与Activity相互传递值
    Android ble (蓝牙低功耗)使用注意事项(转)
    Android ble蓝牙问题(转)
    Android-BlutoothBle,蓝牙中心设备(peripheral)向外围设备(GattServer)连续写入多个Characteristic的注意事项
    Android滑动导航菜单TabLayout+ViewPager+Fragment
    Material Design:TabLayout的使用
    Android-BLE蓝牙原理
  • 原文地址:https://www.cnblogs.com/countryboy666/p/11067831.html
Copyright © 2011-2022 走看看