当用户删除文件时,您可以使用QSettings来存储有关文件删除的信息
#include <QSettings>
QSettings settings("YourCompany", "YourApp");
setValue
方法将信息添加到设置中。例如:QString fileName = "example.txt";
settings.setValue(fileName, QDateTime::currentDateTime());
#include <QTimer>
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, [=]() {
checkDeletedFiles(settings);
});
timer->start(60000); // 每60秒检查一次
checkDeletedFiles
函数以遍历QSettings中的所有条目,并将其与当前文件系统进行比较。如果找不到文件,可以执行任何需要的操作,如记录日志、发送通知等。示例:void checkDeletedFiles(QSettings &settings) {
QStringList keys = settings.allKeys();
for (const QString &key : keys) {
QFileInfo fileInfo(key);
if (!fileInfo.exists()) {
// 文件已被删除,执行相应操作
qDebug() << "文件已删除:" << key;
}
}
}
这样,当用户删除一个文件时,QSettings将存储该信息,定时器会在设定的时间间隔后检查这些文件是否仍然存在。如果不存在,则触发相应的操作。
领取专属 10元无门槛券
手把手带您无忧上云