一、在列表中显示目录,界面添加显示目录的按钮,对象名称为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);
版权声明:此文为本站源创文章[或由本站编辑从网络整理改编],
转载请备注出处: [狂码一生]http://www.sindsun.com/article-details-70.html
[若此文确切存在侵权,请联系本站管理员进行删除!]