在使用 QFileDialog::getSaveFileName
时,可以通过指定默认文件名参数来设置弹出对话框时的默认文件名。以下是一个简单的示例,展示如何实现这一点:
示例代码
#include <QApplication>
#include <QPushButton>
#include <QFileDialog>
#include <QString>
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr) : QMainWindow(parent) {
auto button = new QPushButton("Save File", this);
setCentralWidget(button);
connect(button, &QPushButton::clicked, this, &MainWindow::saveFile);
}
private slots:
void saveFile() {
QString defaultFileName = "example.txt"; // 默认文件名
QString filePath = QFileDialog::getSaveFileName(this,
"Save File",
defaultFileName,
"Text Files (*.txt);;All Files (*)");
if (!filePath.isEmpty()) {
// 处理保存逻辑,例如将数据写入所选文件
// ...
qDebug() << "Selected file path:" << filePath;
}
}
};
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
MainWindow w;
w.show();
return a.exec();
}
#include "main.moc"
说明:
- 在
getSaveFileName
函数中,第一个参数是父窗口,第二个参数是对话框的标题,第三个参数是默认文件路径(包括文件名),第四个参数是可选的过滤器,用于限制显示的文件类型。 - 在这个例子中,当用户点击“Save File”按钮时,将弹出一个保存对话框,并且会预填充为
example.txt
。
注意事项:
- 您可以根据需要调整默认文件名及过滤器,以适应不同类型的文件。
- 确保您已经包含必要的头文件并链接QtWidgets模块。
内容由零声教学AI助手提供,问题来源于学员提问