0

QT4ライブラリでは、QFileSystemWatcherは、監視対象のファイルが変更されたときに「fileChanged」シグナルを発行することになっています。

ただし、ruby1.8では、「fileChanged」は「そのようなシグナルはありません」と報告されます。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」と「&」を含める必要があるかどうか覚えていないため、どちらが正しいかわかりません。

詳細については、qtrubydocを参照してください。

于 2009-06-18T14:57:46.533 に答える