Ich versuche, ein JPEG-Bild in einem QImage-Objekt von einem Python-Skript, mit PyQt4 zu verwenden.
Das Skript selbst funktioniert einwandfrei, das Bild wird geladen, kann bearbeitet und gerendert werden und so weiter. Wenn ich jedoch versuche, dieses Skript mit py2exe zu "kompilieren", funktioniert alles außer dem JPEG-Bild. Wenn ich es durch ein PNG-Äquivalent ersetze, funktioniert es, aber da mein Programm Bilder aus dem Internet herunterlädt, werden sie nicht immer im PNG-Format sein und ich kann es mir nicht leisten, sie alle mit einer anderen Bibliothek zu konvertieren.
Ich habe entdeckt, dass JPEG-Bildunterstützung für QImage, zusammen mit anderen Bildformaten, von einigen DLLs in der \qt\plugins\imageformats Verzeichnis (sie heißen qjpeg4.dll und qjpeg4d.dll). Ich glaube, ich muss sie irgendwie in meiner ausführbaren Datei verwenden, aber ich weiß nicht, wie. Ich habe versucht, sie einfach in mein exe-Verzeichnis zu kopieren, ohne Erfolg. Ich habe versucht, als hier angegeben Ich habe versucht, diese Dateien als data_files in das setup.py-Skript einzubinden, aber ohne Erfolg (es sieht so aus, als ob es diese Dateien nur in das Verzeichnis der Exe kopiert, also ändert sich nichts gegenüber dem manuellen Kopieren der Dateien).
Ich bin sicher, es gibt eine Handvoll von Anwendungen da draußen mit PyQt mit JPEG-Bildern, wie tun sie es tun? Es schien wie eine triviale Aufgabe, aber ich bin auf es jetzt stecken.
Außerdem möchte ich, dass meine Anwendung plattformübergreifend ist (warum sollte ich sonst in Python programmieren?), und ich hoffe, dass ich bei der Paketierung für OS X oder Linux nicht auf solche Probleme stoße (es ist nicht das einzige). Werde ich das?