Qt: проверьте, изменился ли файл в папке

Есть ли способ вызвать действие, если файл в указанном каталоге (или в подпапке), не выбирая все времена изменения каждый раз? Я спрашиваю, потому что я должен проверить это в прямом эфире

7

Решение

Вам нужно использовать QFileSystemWatcher.

Более того, это сигнал, к которому нужно подключиться:

void QFileSystemWatcher :: fileChanged (const QString & путь) [сигнал]

Этот сигнал испускается, когда файл по указанному пути изменяется, переименовывается или удаляется с диска.

Смотрите также directoryChanged ().

Итак, вы можете написать что-то вроде этого в вашем классе или функции:

...
QFileSystemWatcher watcher;
watcher.addPath("/My/Path/To/The/File");

QObject::connect(&watcher, SIGNAL(fileChanged(const QString&)), receiver, SLOT(handleFileChanged(const QString&)));
...
8

Другие решения

Ты ищешь QFileSystemWatcher.

3

По вопросам рекламы [email protected]