Qt: (unabhängiges) Explorerfenster öffnen



  • Hallo,
    ich würde von meinem Qt-Programm aus gern einen Ordner öffnen, und zwar so, dass dieser genauso behandelt wird, wie ein ganz normal vom Nutzer geöffneter Ordner (z.B. soll er offen bleiben, wenn das Programm beendet wird und eben den systemeigenen Explorer nutzen). Es geht hier explizit nicht um einen QFileDialog o.ä.

    Falls mir jemand sagen kann, wie das geht, wäre das nett. Die Dokumentation habe ich natürlich schon hoch- und runtergewälzt, aber bisher nichts gefunden.



  • Da gibt es nur eins: Mit QProcess den explorer starten.
    Möchtest du dann auch in deinem Programm mitbekommen was der Explorer so treibt?
    Was ist eigentlich der Hintergrund?



  • Nein, ich will nicht mitbekommen, was er so treibt. Ich will einfach nur auf Knopfdruck einen bestimmten Ordner öffnen.
    Wenn ich wirklich den Explorer starten muss, verliere ich aber meine Plattformunabhängigkeit - und der Explorer sollte auch möglichst genau DEN Ordner anzeigen, den ich angezeigt haben möchte (man kennt sowas von manchem Windows-Programm, das nach der Installation z.B. den neu angelegten Ordner im Startmenü öffnet o.ä.).



  • Ah!
    Dann suchst du "QDesktopServices::openUrl()"!



  • Du bist eine wandelnde Qt-Dokumentation! 🙂 Danke für den Tipp, auch diesen werde ich sofort ausprobieren.



  • Klappt genauso, wie ich mir das gewünscht hatte, danke nochmal.
    Eine Kleinigkeit wäre da noch: Beim Aufruf des Befehls zeigt mir der QtCreator folgende Fehlermeldung an:
    "(nautilus:4706): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed"
    Das Fenster öffnet sich aber wie gewünscht und ich bin nicht sicher, ob das Problem jetzt eher im Dateibrowser oder im Code liegt. Ich werde das erstmal ignorieren.



  • Bist du in einer Gnome-Session? Falls nicht kann es sein, dass einfach der GConf-Daemon nicht läuft?
    Bekommst du die Meldung auch, wenn du nautilus in ner Console startest?
    Oder bist du unter WIndows? Dann würde mich diese Nautilus (== Gnome-Filemanager) Meldung wundern...

    Aber wenn alles klappt, denke ich ist diese Meldung uninteressant und kann ignoriert werden.



  • Naja, unter Windows wäre das wirklich seltsam ;).
    Ja, ich bin in einer Gnome-Session und es läuft im Hintergrund ein Prozess namens "gconfd-2". Allerdings hast du Recht, die Fehlermeldung erscheint auch beim Start von Hand in der Konsole, es wird also nicht am Quellcode liegen.

    Danke für die Hilfe! 🙂



  • Stiefel2000 schrieb:

    Klappt genauso, wie ich mir das gewünscht hatte, danke nochmal.
    Eine Kleinigkeit wäre da noch: Beim Aufruf des Befehls zeigt mir der QtCreator folgende Fehlermeldung an:
    "(nautilus:4706): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed"
    Das Fenster öffnet sich aber wie gewünscht und ich bin nicht sicher, ob das Problem jetzt eher im Dateibrowser oder im Code liegt. Ich werde das erstmal ignorieren.

    normal (-;


Anmelden zum Antworten