天天看点

QFileDialog、文件对话框BasegetOpenFileNamegetSaveFileName

catalog

  • Base
  • getOpenFileName
  • getSaveFileName

Base

QFileDialog,他不做“新建、打开、保存” 文件的工作!!! 他只是,返回一个 QString字符串 而已!!

getOpenFileName

这个函数打开的,必须是“存在的”

QString fileName = QFileDialog::getOpenFileName(this,
	QString("对话框名称"), 
	QString("E:\work"),  // 默认打开的目录
	QString("所有文件(*) ;; 表格(*.xls *.xlsx)");
	
if(fileName.isEmpty()){ // 点击了 “取消”
	... 
}
           
QFileDialog、文件对话框BasegetOpenFileNamegetSaveFileName
QFileDialog、文件对话框BasegetOpenFileNamegetSaveFileName

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)");

如果你选择的是:“文件名“, (不管这个文件名,是否已经存在)

、、他会把这个文件名,自动输入到 “文本框”里。 等你点击保存时,再检查合法性