• 5076阅读
  • 5回复

QFileDialog 类? [复制链接]

上一主题 下一主题
离线limimi188
 

只看楼主 倒序阅读 楼主  发表于: 2012-03-26
  我在QT Creator 下写了个windows到linux的同步程序,主要是方便对命令行不熟悉的人用

用了一个选择文件对话框,选择文件后,将文件名显示在linetext框中,显示的是c:\...
但是windows下的rsync不识别这种形式,需要写成/cygdrive/c/的。。。

QFileDialog fd;    QStringList fileName;        if ( fd.exec() == QDialog::Accepted )            fileName = fd.selectedFile();但是提示说QFileDialog类没有selectedFile,可是我查了QFileDialog类是有selectedFile的,怎么说没有呢???大家给我看看,这是怎么回事?? 怎么把绝对路径装换成/cygdrive/c/的形式?
离线jdwx

只看该作者 1楼 发表于: 2012-03-26
回 楼主(limimi188) 的帖子
QString QDir::toNativeSeparators ( const QString & pathName ) [static]
用这个静态函数就可以。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线limimi188

只看该作者 2楼 发表于: 2012-03-26
这个函数怎么用,是什么意思啊
离线limimi188

只看该作者 3楼 发表于: 2012-03-26


如上图程序:
QStringList filePath = dialog.selectedFiles();该句返回的是文件列表,我想返回的是文件名,想用seledfile(),但是提示QFileDialog 类没有该函数。

离线jdwx

只看该作者 4楼 发表于: 2012-03-26
这个函数就是将"/"根据不同的平台转换成"/"或"\",返回平台需要的标准路径。
QFileDialog返回一个文件列表,文件名是绝对路径,只要文件名要用到QFileInfo类。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线limimi188

只看该作者 5楼 发表于: 2012-03-26
就算是将"/"根据不同的平台转换成"/"或"\,那么在同步时,还是不识别c:\啊??
不是/cygdrive/c/的形式?
还是说在同步的时候系统会自动换换成/cygdrive/c/,进行同步

在同步的时候来时提示c:\work\a.txt系统找不到该路径
快速回复
限100 字节
 
上一个 下一个