Nachdem im letzten Teil des Qt-Tutorials gezeigt wurde, wie man die Qt-eigenen Sprachdateien in verschiedenen Betriebssystemen richtig lädt, beschreibt der dritte Teil das korrekte Laden von allgemeinen Ressourcen.

Verzeichniswirren

Als Beispiel dient ein Verzeichnis, in dem HTML-Dateien liegen. Diese werden im Programm von der Online-Hilfe geladen und dargestellt. Ähnlich wie bei den Sprachdateien ist der genaue Pfad abhängig vom Betriebssystem:

  • Linux: Der Pfad wird durch eine qmake-Variable in der Projektdatei fix definiert. Im ersten Teil des Tutorials war dies die Zeile DEFINES += "HELPPATH=\\\"/usr/share/doc/myprog/help\\\".
  • Windows: In Windows liegt die Hilfe im Programmverzeichnis (z.B. C:\Programme\MeinProgramm\help). Insofern ist das einfach. Während des Entwickelns wird jedoch ein Verzeichnis debug und Verzeichnis release erzeugt, so dass die Pfade hier nicht stimmen. Man soll jedoch auch unter diesen Umständen das Programm realitätsnah testen können.
  • Mac: Die Hilfe liegt im Resource Bundle im Verzeichnis Resources.

Um diesen Umständen Rechnung zu tragen, muss der Compiler je Betriebssystem angewiesen werden, verschiedene Pfade auszuwählen. Folgendes Listing zeigt eine typische Methode, die in ein Objekt integriert werden kann, um den richtigen Pfad zurückzugeben:

Wie man hier sieht, kann man relativ leicht den Pfad festsetzen, wenn man mit den entsprechenden Präprozessor-Anweisungen arbeitet.

Falls man Daten übrigens ins Verzeichnis des Benutzer ablegen bzw. von dort laden will, kann man dies mit der statischen Methode QDir::homePath() bewerkstelligen.