Mit ttk-Etiketten können mehrere Bilder angegeben werden, die entsprechend dem Status des Etiketts angezeigt werden. Aber ich kann es nicht funktionieren lassen. Hier ist der Code.Mehrere Bilder in einem ttk-Etiketten-Widget
from tkinter import *
from tkinter.ttk import *
BITMAP0 = """
#define zero_width 24
#define zero_height 32
static char zero_bits[] = {
0x00,0x00,0x00, 0x00,0x00,0x00, 0xf0,0x3c,0x0f, 0xf0,0x3c,0x0f,
0xf0,0x3c,0x0f, 0xf0,0x3c,0x0f, 0x00,0x00,0x00, 0x00,0x00,0x00,
0xf0,0x00,0x0f, 0xf0,0x00,0x0f, 0xf0,0x00,0x0f, 0xf0,0x00,0x0f,
0x00,0x00,0x00, 0x00,0x00,0x00, 0xf0,0x00,0x0f, 0xf0,0x00,0x0f,
0xf0,0x00,0x0f, 0xf0,0x00,0x0f, 0x00,0x00,0x00, 0x00,0x00,0x00,
0xf0,0x00,0x0f, 0xf0,0x00,0x0f, 0xf0,0x00,0x0f, 0xf0,0x00,0x0f,
0x00,0x00,0x00, 0x00,0x00,0x00, 0xf0,0x3c,0x0f, 0xf0,0x3c,0x0f,
0xf0,0x3c,0x0f, 0xf0,0x3c,0x0f, 0x00,0x00,0x00, 0x00,0x00,0x00
};
"""
BITMAP1 = """
#define one_width 24
#define one_height 32
static char one_bits[] = {
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x0f, 0x00,0x00,0x0f,
0x00,0x00,0x0f, 0x00,0x00,0x0f, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x0f, 0x00,0x00,0x0f, 0x00,0x00,0x0f, 0x00,0x00,0x0f,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x0f, 0x00,0x00,0x0f,
0x00,0x00,0x0f, 0x00,0x00,0x0f, 0x00,0x00,0x00, 0x00,0x00,0x00,
0x00,0x00,0x0f, 0x00,0x00,0x0f, 0x00,0x00,0x0f, 0x00,0x00,0x0f,
0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x0f, 0x00,0x00,0x0f,
0x00,0x00,0x0f, 0x00,0x00,0x0f, 0x00,0x00,0x00, 0x00,0x00,0x00
};
"""
root = Tk()
img0 = BitmapImage(data=BITMAP0, foreground='lime', background='black')
img1 = BitmapImage(data=BITMAP1, foreground='lime', background='black')
label = Label(root, image=(img0, 'active', img1))
label.pack()
Die Beschriftung ist "aktiv", wenn die Maus darüber fährt. Die angezeigte Ziffer sollte also von 0 auf 1 wechseln, wenn die Maus darüber fährt. Aber es funktioniert nicht. Irgendwelche Hilfe? Python 3.5.1/Windows Vista
Die Liste der Zustände für ttk Widgets ist hier: http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-map.html und die Dokumentation der Bildoption für ttk.Label Widget ist hier: http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/ttk-Label.html – Jal
@Jal Ich hätte "zuverlässige und vollständige Quellen" schreiben sollen. Aber hat die Verwendung von "Hover" anstelle von "Active" für Sie funktioniert? – Goyo
Nein, "Hoover" scheint kein gültiger ttk-Widgetstatus zu sein. _tkinter.TclError: Ungültiger Statusname Hoover. Es gibt eine Problemumgehung für mein Problem mit 'label.bind (" ", eingeben)' und 'label.bind (" ", lassen)' aber ich würde gerne verstehen, warum 'Label (root, image = (img0, "aktiv", img1)) funktioniert nicht wie erwartet. Danke für Ihr Interesse. –
Jal