我需要删除一个特定文件。 我试过这个:
msgBox.setButtonText(QMessageBox::Ok , tr("Ok"));
msgBox.setButtonText(QMessageBox::Cancel , tr("Cancel"));
int ret = msgBox.exec();
switch (ret)
{
case QMessageBox::Ok:
{
#ifdef Q_OS_IOS
QStringList paths = QStandardPaths::standardLocations(QStandardPaths::DataLocation);
QString dbFile = paths.first().append("/log.dat");
#else
QString dbFile = "log.dat";
#endif
QSettings settings(CGlobalZone::m_companyName, CGlobalZone::m_softwareName);
settings.clear();
QDir dir;
dir.remove(dbFile);
break;
case QMessageBox::Cancel:
QTimer::singleShot(1500, this, SLOT(close()));
break;
}
但遗憾的是dbFile仍然存在。我如何删除" dbFile"?
答案 0 :(得分:19)
使用
QFile file (dbFile);
file.remove();
而不是
QDir dir;
dir.remove(dbFile);
答案 1 :(得分:1)
在Qt中删除文件的更简短解决方案可能是:
QFile::remove(dbFile);