Qt在文件夹之间创建链接
题
我必须构建一个小对话框,它创建一个文件夹的符号链接。
在Windows中,我将使用mklink / d命令。
是否有可能在Qt中创建此类链接?我只看到qfile创建文件之间的链接,并且他们需要以.lnk( http://qt-project.org/doc/qt-4.8/qfile.html#link ) 另一方面,Qdir没有提供任何东西。
任何建议?
最好的问候, 理查德
解决方案
是否有可能在Qt中创建此类链接?
是的,它是,但仅在Unix上。
不幸的是,Qfile在Windows上不支持这一点,甚至是Qdir的支持。在我看来,这将是一个有用的功能,用于在 qt bug tracker 。#ifdef Q_OS_UNIX
QFile::link(sourceDir.absolutePath(), destDir.absolutePath());
#elif Q_OS_WIN
QProcess process;
process.start("mklink /D");
// Wait for it to start
if(!process.waitForStarted())
return 0;
bool retval = false;
QByteArray buffer;
while ((retval = process.waitForFinished()));
buffer.append(process.readAll());
if (!retval) {
qDebug() << "Process error:" << process.errorString();
qDebug() << "Output:" << buffer;
return 1;
}
#endif
. 其他提示
再次检查文件。只有 qfile :: link()创建快捷键风潮。因此,使用 qprocess :: execute()。
不隶属于 StackOverflow