题
在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
不隶属于 StackOverflow