0

在 QT4 库中,QFileSystemWatcher 应该在监视文件更改时发出“fileChanged”信号。

但是,在 ruby​​1.8 下,“fileChanged”被报告为“No such signal”。FileSystemWatcher 显然在那里。我可以向其中添加文件并读回 files 属性;只是改变的信号似乎没有被定义。

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

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

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

“self”是一个派生自 Qt::FileSystemWatcher 的类。

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

谢谢。

4

1 回答 1

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 文档

于 2009-06-18T14:57:46.533 回答