0

更改文件时,信号应该触发 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 在第一次请求时产生零大小?

我编辑文件记事本++

4

1 回答 1

0

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

于 2020-02-07T11:43:09.590 回答