ich versuche derzeit weiterhin ein bisschen mit Pypng herum zu spielen und möchte dabei eine grafische Oberfläche mit tkinter programmieren.
Jedoch sind die Versionen dabei unterschiedlich:
tkinter: Python 3
Pypng: Python 2.7
Ich habe auch schon nach Pypng für Python 3 und tkinter für Python 2.7 gesucht, aber keine richtige Version gefunden.
Somit habe ich mir gedacht, dass ich die Funktionen (die mit Pypng laufen und von Buttons (tkinter) aufgerufen werden sollen) beim tkinterskript mit subprocess.call in der Pypng-Datei ausführe. Dann die Informationen auswerte (von der Pypng-Datei) und die Informationen, welche zurückgeliefert werden sollen in der Datei information.tmp geschrieben werden sollen. Anschließend werden diese vom tkinterskript ausgelesen und ausgewertet.
*tkinterskript = die Datei, welche die grafische Oberfläche anbietet
*Pypng-Datei = die Datei, welche das Bild bearbeitet
*information.tmp = tempöräre Datei, welche zur Interaktion zwischen den beiden Dateien dient
Ich weiß, dass dieser Lösungsansatz nicht empfehlenswert ist, weshalb ich fragen wollte, ob jemand eine bessere Idee hat.
Mein zweites Problem ist, dass ich versucht habe mit
Code: Alles auswählen
file = filedialog.askopenfilename(filetypes=(("PNG - Files", "*.png;*.PNG"),
("All Files", "*.*") #
)
)
Traceback (most recent call last):
File "/home/julien/Schreibtisch/Programmieren/Python/Bilder/PixelChanger/Pixelchanger01.py", line 16, in <module>
file = filedialog.askopenfilename(filetypes=(("PNG - Files", "*.png;*.PNG")#,
File "/usr/lib/python3.5/tkinter/filedialog.py", line 375, in askopenfilename
return Open(**options).show()
File "/usr/lib/python3.5/tkinter/commondialog.py", line 48, in show
s = w.tk.call(self.command, *w._options(self.options))
_tkinter.TclError: bad file type "*.png;*.PNG", should be "typeName {extension ?extensions ...?} ?{macType ?macTypes ...?}?"
Wenn ich diese Zeile weiderum nicht entferne, dann funktioniert es. Ich muss zwar immer auf "All Files" klicken, damit es funktioniert, aber es ist nicht so wie es soll.
Ich hoffe jemand kann mir weiterhelfen