在QT4库中,QFileSystemWatcher应该在观察文件发生变化时发出“fileChanged”信号。
然而,在ruby1.8下,“fileChanged”被报告为“没有这样的信号”。 FileSystemWatcher显然在那里。我可以添加文件并读回files属性;只是改变的信号似乎没有被定义。
FileSystemWatcher未包含在任何已安装的示例中。
这是我尝试链接信号的代码行:
connect(self, SIGNAL('fileChanged()'), self, SLOT('mywatcher_changed()') )
“self”是从Qt :: FileSystemWatcher派生的类。
是否已实施,如果是,如何使用它?
感谢。
答案 0 :(得分:2)
信号和插槽的内容必须是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