Qt获取文件夹路径,绝对路径与相对路径,斜杠与反斜杠转换
Qt获取文件夹路径
QString dirPath = QFileDialog::getExistingDirectory(this,tr("浏览选择文件夹"),tr("C:"));//返回用户选择的文件夹路径 if(dirPath.isEmpty())//如果用户选择的路径为空 { return;//不改变原来编辑栏里的文件路径 } else { ui->lineEdit->setText(dirPath);//将编辑栏里的文件路径设置为用户选择的路径 }
主要用到了QFileDialog的getExistingDirecroty函数 第一个参数父对象,第二个参数弹出的对话框标题,第三个参数弹出对话框的默认路径(这里选的是C盘,可以任意更改绝对相对路径都可以。)配合PushButton槽函数就可以实现按下按钮获取文件路径显示到LineEdit里。
绝对路径与相对路径
绝对路径 E:/software/Qt
相对路径 ./Qt/5.15.1/msvc2019
./ : 表示当前路径。 如“./log/log1.txt” 表示当前路径下的log目录下的log1.txt
../ : 表示当前路径的上一级目录。 ../../当前路径的上两级目录。
:/ : 表示对资源的引用,引用资源文件路径 如":/source/image/07.jpg"表示资源文件里面(Resources)source目录下的image目录下的07.jpg文件
QPixmap pixmap = QPixmap(":/source/image/07.jpg")
参考: Qt之路径总结_ooMelloo的博客-CSDN博客_qt 资源路径
QT文件路径问题_Y忍冬草的博客-CSDN博客_qt资源文件路径
Qt /与\转换 斜杠与反斜杠转换
qDebug()<<"QDir::toNativeSeparators(ui->lineEdit->text())"<< QDir::toNativeSeparators(ui->lineEdit->text());//QDir::toNativeSeparators(ui->lineEdit->text()) "E:\\software\\Qt" qDebug()<<"QDir::fromNativeSeparators(ui->lineEdit_data_save_pos->text())"<< QDir::fromNativeSeparators(ui->lineEdit->text());//QDir::fromNativeSeparators(ui->lineEdit->text()) "E:/software/Qt"
主要用到QDir::toNativeSeparators()和QDir::fromNativeSeparators()里面传入路径(QString类型)就行。