catalog
- Base
- getOpenFileName
- getSaveFileName
Base
QFileDialog,他不做“新建、打开、保存” 文件的工作!!! 他只是,返回一个 QString字符串 而已!!
getOpenFileName
这个函数打开的,必须是“存在的”
QString fileName = QFileDialog::getOpenFileName(this,
QString("对话框名称"),
QString("E:\work"), // 默认打开的目录
QString("所有文件(*) ;; 表格(*.xls *.xlsx)");
if(fileName.isEmpty()){ // 点击了 “取消”
...
}

getSaveFileName
比如说,我们要“新创建一个文件”,即 你不能选择一个 已经存在的 文件!!!
1,如果你选择了一个 已存在的,他会报错 “是否你要替换他”?
2,他正确的使用是: 不要选择文件,而是选择好某个目录
、、然后在下面的输入框,输入你要创建的 “文件名”!!
DE << QFileDialog::getSaveFileName(this, "标题", "G:/Test_space", "文本(*.txt)");
如果你选择的是:“目录”, 则他会打开这个目录,然后“输入框” 是空的
、、你输入123 或 123.txt 都可以(前提是,G:/Test_space/里,原本没有这个文件)
、、然后,他并创建文件,只是返回了一个字符串: G:/Test_space/123.txt
DE << QFileDialog::getSaveFileName(this, "标题", "G:/Test_space/123.txt", "文本(*.txt)");
如果你选择的是:“文件名“, (不管这个文件名,是否已经存在)
、、他会把这个文件名,自动输入到 “文本框”里。 等你点击保存时,再检查合法性