在QT4库中,QFileSystemWatcher应该发出一个“fileChanged”。观察文件发生变化时发出信号。

但是,在ruby1.8" fileChanged"下被报告为“没有这样的信号”。 FileSystemWatcher显然在那里。我可以添加文件并读回files属性;只是改变的信号似乎没有被定义。

FileSystemWatcher未包含在任何已安装的示例中。

这是我尝试链接信号的代码行:

connect(self, SIGNAL('fileChanged()'), self, SLOT('mywatcher_changed()') )

"自"是一个派生自Qt :: FileSystemWatcher的类。

是否已实施,如果是,如何使用它?

感谢。

有帮助吗?

解决方案

信号和槽的内容必须是C ++方法签名,包括参数的类型。这就是找不到信号的原因。

可能应该是:

connect(self, SIGNAL('fileChanged( QString path )'), 
     self, SLOT('mywatcher_changed( QString path )') )

connect(self, SIGNAL('fileChanged( const QString & path )'), 
     self, SLOT('mywatcher_changed( const QString & path )') )

我不确定哪一个是正确的,因为我不记得你是否需要包含“const”。和“&”在信号名称中。

有关详细信息,请参阅: qtruby doc

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top