2016-05-11 7 views
0

Dies ist, wie ich die Beobachter am Initialisierung:QfileSystemWatcher funktioniert nicht

QFileSystemWatcher watcher; 
    bool isWatched = watcher.addPath("../stylesheets/main.style"); 
    if (isWatched) qDebug() << "Stylesheet is being watched."; 
    connect(&watcher, &QFileSystemWatcher::fileChanged, this, &PCLViewer::updateStyle); 

Aber mein Update Stil Funktion wird nie aufgerufen, wenn ich ändern, löschen oder die Datei umbenennen! Ich habe auch versucht, die Schlitze und Signale wie diese Verbindungs:

connect(&watcher, SIGNAL(fileChanged(QString)), this, SLOT(updateStyle(QString))); 

Die Signatur für die updateStyle Funktionen ist dies:

public slots: 
    void updateStyle(const QString &path); 

Ich bin mit Ubuntu.

+0

Die Codefragmente sehen soweit korrekt aus. Bitte poste ein vollständigeres Beispiel deines Codes. – jonjonas68

+1

haben Sie versucht, einen vollständigen Pfad zu der Datei zu verwenden? – ixSci

+0

Ja, ich habe den vollen Pfad und auch eine andere Datei gemixt, aber keiner hat funktioniert! – Pendar

Antwort

-1

Die Slot-Funktionssignatur war falsch. Ich musste void updateStyle (QString path); dafür verwenden, um angerufen zu werden.