一、在列表中显示目录,界面添加显示目录的按钮,对象名称为showDirButton:
二、引入头文件
#include <QWidgetItem> #include <QListWidgetItem> #include <QMessageBox> #include <QStringList> #include <QtDebug> #include <QDir> #include <QFileDialog>
三、向项目中添加资源文件,并导入资源,然后右键单击QListWidget选择编辑项目,操作如图:
四、声明槽函数
private slots: //显示目录 void showDirSlot(); //单击列表中的项 void singleClickedSlot(QListWidgetItem *); //双击列表中的项 void doubleClickedSlot(QListWidgetItem *);
五、实现槽函数:
//显示目录 void MainWindow::showDirSlot(){ //QStringList fileNames = QFileDialog::getOpenFileNames(this,"Open File",QDir::currentPath()); QDir dir = QDir::current(); QStringList fileNames = dir.entryList(); if(fileNames.size() == 0){ QMessageBox::information(this,"ERROR MSG","没有文件"); 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->listWidgetShowView->addItem(item); } } //单击列表中的项 void MainWindow::singleClickedSlot(QListWidgetItem *item){ QMessageBox::information(this,"信息","single clicked"+item->text()); } //双击列表中的项 void MainWindow::doubleClickedSlot(QListWidgetItem *item){ QMessageBox::information(this,"信息","double clicked"+item->text()); }
六、信号与槽连接
QObject::connect(ui->showDirButton,SIGNAL(clicked()),this,SLOT(showDirSlot())); this->connect(ui->listWidgetShowView,SIGNAL(itemClicked(QListWidgetItem*)),this,SLOT(singleClickedSlot(QListWidgetItem *))); this->connect(ui->listWidgetShowView,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(doubleClickedSlot(QListWidgetItem *)));
七、在构造函数中加入初始化列表显示模式
ui->listWidgetShowView->setViewMode(QListView::IconMode);
版权声明:
此文为本站源创文章[或由本站编辑从网络整理改编],
转载请备注出处:
[狂码一生]
https://www.sindsun.com/articles/16/70
[若此文确切存在侵权,请联系本站管理员进行删除!]
--THE END--