为什么 QFileSystemWatcher 发出多个信号?并且 QFileInfo 第一次写入零文件大小

Why does QFileSystemWatcher emit multiple signals? and QFileInfo for the first time writes a zero file size

当一个文件被更改时,信号应该触发 1 次,但对我来说它有效了几次。

设置函数中,我请求大小并打印

parser::parser(QObject *parent) : QObject(parent)
{
    setings();
    qDebug()<< baseWay <<"\n";

    fsWatcher = new QFileSystemWatcher();
    fsWatcher->addPath( baseWay + "auth.log" );
    QObject::connect(fsWatcher, SIGNAL( fileChanged(QString) ), this, SLOT( changed(QString) ));
}

我修改文件后,信号处理了2次,虽然我保存了文件并修改了1次。

void parser::changed(const QString &flName)
{
    QFileInfo qfi(flName);
    qDebug() << "name = " << flName << "size = " << qfi.size();
}

为什么 QFileSystemWatcher 会发出 2 次信号?

为什么 QFileInfo 在第一次请求时生成零大小?

我编辑文件记事本++

问题出在文本编辑器及其处理文件的方法中。