我有一个 C++ 插件,它使用 QFileSystemWatcher 监视文件更改,并将其fileChanged信号与自定义 QML 类型插槽连接起来,如下所示:
//In the custom QML type constructor
QObject::connect(&this->_watcher, SIGNAL(fileChanged(QString)),
this, SLOT(fileChangedSlot(QString)));
槽函数:
void CustomQMLTypeClass::fileChangedSlot(QString file)
{
Q_UNUSED(file);
emit fileChanged();
}
在 QML 方面:
CustomQMLType{
fileUri: "some/file/path/file.format"
onFileChanged: console.log("File changed")
}
运行程序时一切正常,但是当我这样做时,即:
echo "sth" >> some/file/path/file.format
不止一次,通知只触发一次。为什么?哦