QlistWidget获取文件夹下所有文件名称,双击打开选中文件:
#include "SwitchDemo.h"
#include"QDir"
#include"QMessageBox"
#include<QTextStream>
#include<iostream>
SwitchDemo::SwitchDemo(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
QListWidgetItem* ite = new QListWidgetItem;
QString folderPath = "hello/";
QDir dir(folderPath);
if (!dir.exists()){
QMessageBox::critical(this, QString::fromLocal8Bit("错误"), QString::fromLocal8Bit("不存在文件"));
return;
}
QStringList names = dir.entryList(QDir::Files);
ui.listWidget->addItems(names);
ui.listWidget->sortItems(Qt::DescendingOrder);//自动排序
connect(ui.listWidget, &QListWidget::itemDoubleClicked, [&] {
ui.textEdit->setText(ui.listWidget->item(ui.listWidget->currentRow())->text() + " :");
ui.textEdit->append(":");
QString qstr ="hello/" + ui.listWidget->item(ui.listWidget->currentRow())->text();
QFile file(qstr);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))std::cout << "打开失败" << std::endl;
QTextStream in(&file);
ui.textEdit->append(in.readAll());
});
}