Seite 1 von 1

Tk () Bild in Fensetr anzeigen

Verfasst: Samstag 24. März 2018, 11:06
von local_weather
Hallo, Ich habe folgendes Programm geschrieben

Code: Alles auswählen

#!/usr/bin/env python3
# tk_label.py
from tkinter import * # Python 2.7 "from Tkinter import *"
from tkinter import ttk # Python 2.7 "import ttk"
mainWin = Tk()
result = StringVar()
result.set('weigu.lu')
imageLabel_1 = PhotoImage(file='luftfeuchtigkeit.png')
label_1 = ttk.Label(mainWin, textvariable=result, image=imageLabel_1, compound='top')
label_1.grid()
mainWin.mainloop()

Ich bekomme jedoch folgende Fehlermeldung :
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/maxkoster/PycharmProjects/WetterstationALR/image_test.py
Traceback (most recent call last):
File "/Users/maxkoster/PycharmProjects/WetterstationALR/image_test.py", line 8, in <module>
imageLabel_1 = PhotoImage(file='luftfeuchtigkeit.png')
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 3366, in __init__
Image.__init__(self, 'photo', name, cnf, master, **kw)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 3320, in __init__
self.tk.call(('image', 'create', imgtype, name,) + options)
_tkinter.TclError: couldn't recognize data in image file "luftfeuchtigkeit.png"

Process finished with exit code 1

Ich bin mir jedoch sicher, dass ich die datei in dem selben ordner als das .py programm gespecihert haben.

Mit freundlichen Grüssen.
Max

Re: Tk () Bild in Fensetr anzeigen

Verfasst: Samstag 24. März 2018, 11:14
von __deets__
Das es im gleichen Verzeichnis ist sagt erstmal nix aus. Deine relative Pfadangabe für das Bild bezieht sich auf das current working directory. Und das hängt davon ab, woher du dein Skript aufrufst. Besser sind also entweder volle Pfade, oder dich mittels des os.path modules und der __file__ Variable zum Bild zu hangeln.

Wie dem auch sei - ich glaube dein Problem ist ein anderes. Ich meine mich zu erinnern das Tk nur JPEGs und ggf GIF oder BMP beherrscht. Wenn du PNGs willst, brauchst du noch das Pillow-Modul.

http://effbot.org/tkinterbook/photoimage.htm

Darin bezieht der effbot sich noch auf seine inzwischen veraltete PIL Bibliothek. Nimm Pillow, das ist kompatibel & aktuell.

Re: Tk () Bild in Fensetr anzeigen

Verfasst: Samstag 24. März 2018, 11:24
von local_weather
Danke, mit pllow bin ich auf dem richtigen Weg!

Max