KDevelop, in ausführbare Datei eigene Grafiken integrieren



  • CGI-BIN schrieb:

    weiß jemand was konqueror dem programm für ein arbeitsverzeichnis mitgibt, oder woran es sonst liegt?

    Leider weiß ich grad nicht welches Verzeichnis Konqueror als Arbeitsverzeichnis mitgibt. Dass es nicht das ist, in welchem dein binary liegt, dagegen schon 😉 Und auch dass das der Grund für das Fehlen der Grafiken ist.

    Der Link zur Lösung wurde schon gepostet: Stichwort Resources(*).
    Meines Wissens nach bringt Windows selbst ein System zum Einbinden von Resourcen mit, unter Linux fehlt dagegen ein einheitliches System. Deshalb bringt Qt eine eigene Lösung mit.

    Grüße
    Franz

    (*) Mit Resourcen kannst du z.B. Bilder in dein Binary mit einkompilieren. Somit brauchen sie nicht mehr auf der Festplatte abgelegt werden.
    Nachteil: Dein Binary wird größer.



  • Leider kommt das direkte einkompilieren für mich nicht in Frage, da ich immer wieder andere Grafiken einbinden möchte, und die auch im Betrieb gewechselt werden sollen.
    Vielleicht findet sich ja noch jemand der weiß, warum der Konqueror das so macht, und wie man ihm das abgewöhnt.



  • CGI-BIN schrieb:

    Leider kommt das direkte einkompilieren für mich nicht in Frage, da ich immer wieder andere Grafiken einbinden möchte, und die auch im Betrieb gewechselt werden sollen.
    Vielleicht findet sich ja noch jemand der weiß, warum der Konqueror das so macht, und wie man ihm das abgewöhnt.

    Du kannst dir dein Arbeitsverzeichnis anzeigen lassen:

    char *getcwd(char *buf, size_t size);
    


  • Vielen Dank,

    das hat mir sehr geholfen, jetzt weiß ich schonmal genau woran es liegt. Das Arbeitsverzeichniss, dass Konqueror setzt, ist mein Homeverzeichnis.

    jetzt ist die Frage nur noch, warum ist das so, und wie kann ich das abstellen.



  • Du erbst das aktuelle Verzeichnis vom Konqueror. Und dieser hat den vom System bekommen.

    Du solltest dein Programm so stricken, dass es egal ist, wie man es aufruft.



  • Zum Beispiel mit

    QDir::homePath ();
    

    Das geht dann auch unter Windows und MacOS..



  • vielen dank, aber in der qdir doku habe ich leider nichts fidnen können was mir den pfad zu meinem executable gibt.
    Ich stelle mir halt vor, dass man das programm mitsamt der bilder und ja auch configdateien einfach aus einem tar entpackt und starten kann. ohne das man spezielle ordner im homeverzeichnis anlegt.
    aber wenn das nicht geht, werden mir eure tipps sehr helfen den richtigen homeordner zu finden für mein dateienverzeichnis.



  • Mir fiel gerade das noch ein 😉
    http://doc.trolltech.com/4.2/qcoreapplication.html#applicationDirPath
    Ist wahrscheinlich genau das was du suchst.



  • super, danke. ist doch eines der besten foren 😛

    werde heute abend mal testen, ob die beschriebene unix-warnung zutrifft oder alles funktioniert. wer weiß, was konqueror da wieder macht, aber ich denke den programmstart kriegt er ordnungsgemäß hin.

    MfG



  • für alle die's noch interessiert, ich hab hier quasi die gleiche lösung aber in kompakter Form gefunden:
    http://wiki.qtcentre.org/index.php?title=Current_Working_Directory


Anmelden zum Antworten