Здравствуйте.
Столкнулся с проблемой при использовании класса QFileSystemWatcher для отслеживания добавления файлов в директорию. Вот код:
//в конструкторе
pFileWatcher = new QFileSystemWatcher(this);
pFileWatcher->addPath(directoryPath);
connect(pFileWatcher,SIGNAL(directoryChanged(QString)), this, SLOT(receivedFile(QString)));
//в слоте
void Agent::receivedFile(QString filePath)
{
qDebug() << filePath;
}
Слот при добавлении файла вызывается не один раз, а несколько (от 2 до 5 получилось, от чего именно зависит количество вызовов не смог понять). Из-за чего такое может быть? Хочется все-таки только один раз получать сигнал...
P.S. Сигнал коннектится только к этому слоту и только в этом месте конструктора, больше - нигде. В списке отслеживаемых директорий - только одна, которая и нужна.