基本概念
QFileDialog::getExistingDirectory
QFileDialog::getOpenFileName
QFileDialog::getOpenFileNames
QFileDialog::getSaveFileName
案例
void Dialog::on_btnDialogDir_clicked()
{
QFileDialog::Options options;
options |= QFileDialog::ShowDirsOnly;
QString directory = QFileDialog::getExistingDirectory(
this,
"请选择文件夹",
ui->labelDialogDir->text(),
options);
if (!directory.isEmpty())
{
ui->labelDialogDir->setText(directory);
}
}
void Dialog::on_btnDialogFileName_clicked()
{
QFileDialog::Options options;
QString selectedFilter;
QString fileName = QFileDialog::getOpenFileName(
this,
"请选择文件",
ui->labelDialogFileName->text(),
"All Files (*);;Text Files (*.txt)",
&selectedFilter,
options);
qDebug() << selectedFilter;
if (!fileName.isEmpty())
{
ui->labelDialogFileName->setText(fileName);
}
}
void Dialog::on_btnDialogFileNames_clicked()
{
QFileDialog::Options options;
QString selectedFilter;
QStringList files = QFileDialog::getOpenFileNames(
this,
"请选择多个文件",
ui->labelDialogFileNames->text(),
"All Files (*);;Text Files (*.txt)",
&selectedFilter,
options);
if (!files.empty())
{
ui->labelDialogFileNames->setText(QString("[%1]").arg(files.join(", ")));
}
}
void Dialog::on_btnDialogSaveFile_clicked()
{
QFileDialog::Options options;
QString selectedFilter;
QString fileName = QFileDialog::getSaveFileName(
this,
"请保存文件",
ui->labelDialogSaveFile->text(),
"All Files (*);;Text Files (*.txt)",
&selectedFilter,
options);
qDebug() << selectedFilter;
if (!fileName.isEmpty())
{
ui->labelDialogSaveFile->setText(fileName);
}
}