windows使用Qt的qssh远程删除linux下的文件

Qt_QSsh 使用 windows Qt实现ssh客户端
这篇博客的直接编译就可以使用。自己要修改的部分是删除功能

其实也很简单,使用example中的sftpsmodel,然后增加一个removeFile函数。

SftpJobId SftpFileSystemModel::removeFile(const QModelIndex &index){
    QSSH_ASSERT_AND_RETURN_VALUE(d->rootNode, SftpInvalidJob);
    const SftpFileNode * const fileNode = indexToFileNode(index);
    QSSH_ASSERT_AND_RETURN_VALUE(fileNode, SftpInvalidJob);
    QSSH_ASSERT_AND_RETURN_VALUE(fileNode->fileInfo.type == FileTypeRegular, SftpInvalidJob);

    //const SftpJobId jobId = d->sftpChannel->downloadFile(fileNode->path, targetFilePath,
    //    SftpOverwriteExisting);

    QString parent_dir = fileNode->parent->path;

    const SftpJobId jobId = d->sftpChannel->removeFile(fileNode->path);
    if (jobId != SftpInvalidJob)
        d->externalJobs << jobId;

    //update
    setRootDirectory(parent_dir);
    return jobId;
}

其实找了很多code,感觉还是这个Qssh,然后自己加功能就好了。

你可能感兴趣的:(C++/Qt自动化框架,windows,qt,linux)