QT 获取文件的路径、打开文件的弹出对话框
1、打开获取文件夹路径的对话框
QString filePath = QFileDialog::getExistingDirectory(this, "请选择文件保存路径...", "./");
QString getExistingDirectory(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), Options options = ShowDirsOnly); //第一个参数为父类,第二个参数为弹出路径选择对话框的左上角的标题,第三个为打开对话框的起始路径(绝对路径)。
2、打开一个选择打开文件的对话框
QDesktopServices::openUrl(QUrl(ui.lineEdit->text(), QUrl::TolerantMode)); //第一个参数为,打开的路径,第二个为默认参数。QUrl::TolerantMode,QUrl将尝试纠正url中的一些常见错误。这种模式对于解析来自不熟悉的数据源的url是很有用的。
在适当的Web浏览器中为用户的桌面环境打开给定的url,如果成功,返回true;否则返回false。
如果URL是对当地文件的引用(例如URL方案是“file”),然后它将用一个合适的应用程序而不是Web浏览器打开。
3、弹出一个打开选择文件对话框,返回文件所在的路径(xx/xx/xx.txt)
QString fileName = QFileDialog::getOpenFileName(); //例如:C:\Windows\addins\test.txt
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "/home",tr("Images (*.png *.xpm *.jpg)"));//参数1,父类; 参数2,打开对话框所显示默认的路径; 参数3,选择打开文件的格式(类型)。 返回选取文件所在的绝对路径
QFileInfo base(fileName);
QString basename = base.baseName(); //打开的文件文件名,xx。获取不包含文件后缀的文件名,即test
eg:
QFileInfo base("test.text");
QString basename = base.baseName(); //test