Seite 1 von 1

QT Designer und *.ico dateien

Verfasst: 24. Mai 2012 12:04
von omegano
Ich hab mir gestern Stundenlang die finger wundgesucht alle varianten bei Google nachgeschaut + hier im Forum.
Aber irgendwie versteh ich es anscheinend nicht.
Also ich hab eine Resource-Datei angelegt. Dort alle Icons reingepackt. Den Pfad in der *.pro Datei angegeben.
Mit PNG's tuts das auch alles wunderbar.
Allerdings haben diese Images am Rand immer hässliche Boxen und keinen durchsichtigen Bereich neben den eigentlichen Icon's.

Bild


Daraufhin hab ich gelesen das man das Icon Plugin laden muss:

Also hab ich mir die qico4.dll geschnappt, in den Ordner plugins/imageformats gepackt und den folgenden Code ins Main Programm eingetragen.

Code: Alles auswählen

 QApplication app(argc,argv);
    app.addLibraryPath( app.applicationDirPath() + "/plugins" );
Nun frage ich mich, hab ich das überhaupt richtig verstanden oder fehlt noch etwas?
Oder gibt es eine Möglichkeit diesen transparenten Bereich neben den Icons in den PNG's einzufügen?


Bevor es kommt:
Ja ich habe auch schon versucht die Doku zu lesen, allerdings finde ich dort nichts mehr was mir weiterhilft.

Gruß omegano

Re: QT Designer und *.ico dateien

Verfasst: 24. Mai 2012 13:58
von Christian81
Sind es nun .ico oder .png - Dateien?
Wenn es png-Dateien sind braucht man kein Plugin für .ico ...

Gib mal ein minimales Beispiel - evtl. sind deine png-Dateien ohne transparenz abgespeichert worden oder sowas in der Art.

Re: QT Designer und *.ico dateien

Verfasst: 24. Mai 2012 14:17
von omegano
Also es sind überwiegend ICO's, in meinem Beispiel da sieht man halt die ICO's net ;) weils das ja net tut. Zum thema mit Transparents abspeichern, da hab ich keine Ahnung von ich hab mir die Icon's einfach runtergeladen auf diversen Homepages. Wie man PNG's mit transparenz speichert oder nicht weis ich nicht, auf den Homepages sahen sie immer transparent aus, im Programm jedoch nicht mehr.

Edit: Hab mich jetzt damit auseinander gesetzt wie man PNG's transparent speichert. Wusste vorher garnicht wie das geht. Allerdings wurmt es mich immernoch das, obwohl ich dieses ICO Plugin versucht habe einzubinden und es nicht klappt :/

Re: QT Designer und *.ico dateien

Verfasst: 24. Mai 2012 17:05
von Christian81
Ohne Beispiel keine Hilfe ... woher soll ich wissen was für Bilder Du in welchem Format benutzt? PNGs welche eine korrekte Transparenz besitzen werden auch korrekt dargestellt!

Re: QT Designer und *.ico dateien

Verfasst: 24. Mai 2012 19:14
von omegano
Ja, wenn du mir sagst, was du alles benötigst schmeiss ich den Code hier rein. Da ich net weis, wie man das korrekt macht, fällt es mir auch schwer dafür nen Beispiel zu machen :)

ist meine icons.qrc

Code: Alles auswählen

<RCC>
    <qresource prefix="/new/myresource">
        <file>images/find.png</file>
        <file>images/42342bfa3d3101e6023f5ae5745dcf74.png</file>
        <file>images/folder_documents.png</file>
        <file>images/my_projects_folder.png</file>
        <file>images/package_games_rpg.png</file>
        <file>images/planet.png</file>
        <file>images/save.png</file>
        <file>images/symbol_information.png</file>
    </qresource>
</RCC>
Die Dateien sind auch alle als ico's im Ordner, aber ich habs jetzt erstma in png's umgewandelt. Damit es im Programm sichtbar ist. Tausche ich diese Dateien durch die Icon-Dateien aus sind sie nicht vorhanden(die Icons im Programm).

Ist meine Project datei:

Code: Alles auswählen

FORMS += mainwindow.ui \
    dialog.ui
SOURCES += main.cpp \
    mainForm.cpp \
    dialog.cpp
HEADERS += mainForm.h \
    data.h \
    ui_dialog.h \
    ui_mainwindow.h \
    dialog.h
RC_FILE += myapp.rc
RESOURCES += icons.qrc
Im Programmverzeichnis:
habe ich nen ordner "plugins/imageformats/" mit qico4.dll

in der mainquellcode datei habe ich:

Code: Alles auswählen

int main(int argc, char* argv[]){
    QApplication app(argc,argv);
    app.addLibraryPath( app.applicationDirPath() + "/plugins" );
    MForm mf;
    mf.show();
    return app.exec();
}
mehr wüsste ich jetzt net, was ich posten könnte.