1 通过按钮选择文件,注意file的路径中是 ‘/’ 而 files的路径中是 '\'
1)QString file=QFileDialog::getOpenFileName(this,tr("Select Image"), "", tr("Images (*.png *.bmp *.jpg *.GIF )")); 2)QStringList files = QFileDialog::getOpenFileNames(this,_Q("Select one or more files"), "", _Q("Images (*.png *.bmp *.jpg *.gif *.JPG)"));
2 通过按钮选择目录
QString dir = QFileDialog::getExistingDirectory(this, tr("Please select a directory"), "",QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
注意: Qt里的文件路径与window的文件路径是有区别的,它是linux的路径风格,所以在将window的文件赋给Qt控件的时候,是需要转换的!,通过点击按钮,获得一个目录或文件,显示在 lineEdit上 ,此时lineEdit的显示是Window路径,如果要将 lineEdit上的路径转换成Qt可以认可的字符串,就要做一下操作。
QString outDir= QFileDialog::getExistingDirectory(this, tr("Please select a directory"), "",QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); QByteArray ba(outDir.toAscii()); ba.replace(QByteArray("\\"), QByteArray("/")); QString convertPath=ba.data(); 或者 QString file_path ="C:\Output\1.txt"; QString path=file_path.replace("\\","/",Qt::CaseInsensitive); //结果就会 path=C:/Output/1.txt