Bild in Tkinter Label?
Ich bin neu in python-GUI-Programmierung, möchte ich hinzufügen, dass ein Bild in mein tkinter-label, ich habe folgenden code, aber das Fenster zeigt nicht mein Bild. Pfad des Bildes ist der gleiche Ordner, wie dieser code.
import ImageTk
import Tkinter as tk
from Tkinter import *
from PIL import Image
def make_label(master, x, y, w, h, img, *args, **kwargs):
f = Frame(master, height = h, width = w)
f.pack_propagate(0)
f.place(x = x, y = y)
label = Label(f, image = img, *args, **kwargs)
label.pack(fill = BOTH, expand = 1)
return label
if __name__ == '__main__':
root = tk.Tk()
frame = tk.Frame(root, width=400, height=600, background='white')
frame.pack_propagate(0)
frame.pack()
img = ImageTk.PhotoImage(Image.open('logo.png'))
make_label(root, 0, 0, 400, 100, img)
root.mainloop()
Funktioniert gut für mich. Ist dies Ihre tatsächliche code? Wenn nicht, wäre meine Vermutung, dass die Bild garbage Collection. Bekommst du irgendwelche Fehler?
Nein, es ist kein Fehler, nur ein leeres Fenster.
Wie gesagt, funktioniert gut für mich... also, wenn das dein original-code ist, könnte es sein, dass Ihr 'logo.png' in der Tat viel größer und Sie sehen nur den oberen linken (weißen) Ecke? Auch, was die genaue python-version verwenden Sie?
Habe es, logo.png war zu groß, um angezeigt werden. Danke !!
Sie können
Nein, es ist kein Fehler, nur ein leeres Fenster.
Wie gesagt, funktioniert gut für mich... also, wenn das dein original-code ist, könnte es sein, dass Ihr 'logo.png' in der Tat viel größer und Sie sehen nur den oberen linken (weißen) Ecke? Auch, was die genaue python-version verwenden Sie?
Habe es, logo.png war zu groß, um angezeigt werden. Danke !!
Sie können
Image.open('logo.png').resize((400,100))
um die Größe zu verändern.
InformationsquelleAutor Shivamshaz | 2014-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für debugging-Zwecke versuchen zu vermeiden, die Verwendung von PIL und laden einige *.gif (oder einem anderen akzeptablen) Datei direkt in PhotoImage, wie unten dargestellt, wenn Sie werden für Sie arbeiten, dann nur konvertieren Sie Ihre Bild in *.gif oder versuchen Sie, sich mit PIL.
InformationsquelleAutor Artem
InformationsquelleAutor Sardorbek Muhtorov