使用Ruby的QT4 QFileSystemWatcher

时间:2009-06-18 13:53:59

标签: ruby qt4

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

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

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

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

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

“self”是从Qt :: FileSystemWatcher派生的类。

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

感谢。

1 个答案:

答案 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