2009-06-18 2 views
0

QT4 라이브러리에서 QFileSystemWatcher는 감시 된 파일이 변경 될 때 "fileChanged"신호를 방출합니다.Ruby를 사용하는 QT4 QFileSystemWatcher

그러나 ruby1.8에서는 "fileChanged"가 "No such signal"로보고됩니다. FileSystemWatcher가 분명히 있습니다. 파일을 추가하고 파일 속성을 다시 읽을 수 있습니다. 변경된 신호가 정의되지 않은 것입니다.

FileSystemWatcher는 설치된 예제에 포함되어 있지 않습니다.

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

"자기"Qt는 ::은 FileSystemWatcher에서 파생 된 클래스입니다 :

여기 신호를 연결하는 시도 코드 내 라인.

구현 되었습니까? 그렇다면 어떻게 사용합니까?

감사합니다.

답변

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

+0

감사 :

자세한 내용을 참조하십시오. 그게 효과가 있었어. 정확한 작업 코드는 다음과 같습니다. connect (self, SIGNAL ('fileChanged (QString)'), self, SLOT ('mywatcher_changed (QString)') Nastily, rbqtapi는 사용 가능한 QFileSystemWatcher 메서드를보고하지 않지만 그럼에도 불구하고 그들은 거기에있는 것처럼 보입니다. –