// 打开一个文件
QObject::connect(ui.pushButton, &QPushButton::pressed, [this]() {
QString curPath = QDir::currentPath(); //获取当前应用程序的目录
QString dlgTitle = "选择一个文件"; //
QString filter = "程序文件(*.h *.cpp);;文本文件(*.txt);;所有文件(*.*);;图片文件(*.jpg *.png *.tif *.gif)"; //文件过滤器(选择不同后缀的文件)
QString aFileName = QFileDialog::getOpenFileName(this, dlgTitle, curPath, filter); //返回带路径的完整文件名
ui.lineEdit->setText(aFileName); //将打开文件地址显示在编辑框
if (aFileName.isEmpty())
return;
});
// 选择打开多个文件
QObject::connect(ui.pushButton_mul_files, &QPushButton::pressed, [this]() {
QString curPath = QDir::currentPath(); //获取当前应用程序的目录
QString dlgTitle = "选择多个文件"; //
QString filter = "程序文件(*.h *.cpp);;文本文件(*.txt);;所有文件(*.*);;图片文件(*.jpg *.png *.tif *.gif)"; //文件过滤器(选择不同后缀的文件)
QStringList fliterList = QFileDialog::getOpenFileNames(this, dlgTitle, curPath, filter); //返回带路径的完整文件名
for (int i = 0;i < fliterList.count();i++)
{
ui.plainTextEdit->appendPlainText(fliterList.at(i));
}
//ui.lineEdit->setText(pushButton_mul_files); //将打开文件地址显示在编辑框
if (fliterList.isEmpty())
return;
});
注意:打开多个文件与打开一个文件的区别:
打开一个文件:
1. 用 pushButton 和Line Edit控件
2. 用 QString aFileName = QFileDialog::getOpenFileName(this, dlgTitle, curPath, filter); //返回带路径的完整文件名
3. 显示:ui.lineEdit->setText(aFileName); //将打开文件地址显示在编辑框
打开多个文件:
1, 用 pushButton 和plainTextEdit控件
2. 用 QStringList fliterList = QFileDialog::getOpenFileNames(this, dlgTitle, curPath, filter); //返回带路径的完整文件名
3. 显示
for (int i = 0;i < fliterList.count();i++)
{
ui.plainTextEdit->appendPlainText(fliterList.at(i));
}