• 6680阅读
  • 2回复

改变当前路径 [复制链接]

上一主题 下一主题
离线friday1203
 
只看楼主 正序阅读 楼主  发表于: 2009-11-03
     写了个程序,到打开文件。用户选择路径,并保存在dir中,然后要打开里面的文件,用到file.open()会打不开。然后怀疑应该是打开文件的路径不对,所以改为以下语句:
  QFile file(filename);
    cd(dir);
    if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { // 文件的打开方式
        qDebug() << "Open file error!";

    }
    cd(olddir);
出错了,cd不是这样用的,我是初学者,好多东西不懂,哪位大师帮我看看,万分感谢!
离线friday1203
只看该作者 2楼 发表于: 2009-11-04
这是其中的一部分代码:
QFile filename;
QDir olddir=QDir::current();
QDir dir;
    void MainWindow::choose()
{
    QString dir1 = QFileDialog::getExistingDirectory(this, tr("Choose Path"),"C:/",QFileDialog::ShowDirsOnly
                                                 | QFileDialog::DontResolveSymlinks);

    dir=dir1;
    dir.setFilter(QDir::Files | QDir::Hidden | QDir::NoSymLinks);
     dir.setSorting(QDir::Size | QDir::Reversed);

     QFileInfoList list = dir.entryInfoList();
     for (int i = 0; i < list.size(); ++i) {
           QFileInfo fileInfo = list.at(i);
           filename=fileInfo.fileName();
           QFile file(filename);
           //cd(dir.dirName());
           if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { // 文件的打开方式
        qDebug() << "Open file error!";
          //cd(olddir.dirName());
          ...

   }
}
离线dbzhang800

只看该作者 1楼 发表于: 2009-11-04
1. 你能再详细一点介绍一下么,比如。
    你的 filename 是什么东西,
    你要打开dir中的文件,那么你需要先知道该目录内文件名,然后一个一个的打开,这些文件名存哪儿了
   你用的cd是哪儿来的函数,目录操作为什么不用QDir的成员函数
   等等
快速回复
限100 字节
 
上一个 下一个