Класс QFileSystemWatcher предназначет за отслеживанием изменений в файлах и директориях.
Например:
Устанавливаем слежку за каким то файлом, передавая классу полный путь к
файлу. Как только файл будет переименован, изменен или удален с жесткого диска сгенерируется сигнал.
Простой пример применения:
В заголовчном файле декларируем указатель на объект:
Далее создаем тут же приватный слот, который будет срабатывать когда испустится сигнал объектом fsWatcher и на экран выведется сообщение о том, что файл изменен
Далее в файле исходников в конструкторе класса пишем следующее:
Например:
Устанавливаем слежку за каким то файлом, передавая классу полный путь к
файлу. Как только файл будет переименован, изменен или удален с жесткого диска сгенерируется сигнал.
Простой пример применения:
В заголовчном файле декларируем указатель на объект:
QFileSystemWatcher *fsWatcher;</code>
Далее создаем тут же приватный слот, который будет срабатывать когда испустится сигнал объектом fsWatcher и на экран выведется сообщение о том, что файл изменен
private slots:
void changed(const QString & flName);
Далее в файле исходников в конструкторе класса пишем следующее:
//Создаем наследника
fsWatcher = new QFileSystemWatcher(this);
//устанавливаем слежку на файл
fsWatcher->addPath("/home/alexandr/test.txt");
//Связываем сигнал со слотом, как только файл будет изменен
//произойдет вызов слота changed(QString)
connect(fsWatcher, SIGNAL(fileChanged(QString)), this, SLOT(changed(QString)));
//Описываем наш слот
void MainWindow::changed(const QString &flName)
{
//В QLabel будет выведено сообщение
ui->label->setText("Changed " + flName);
}