2017-02-18 11 views
0

Ich habe eine Frage zu den Tkinter Tasten: Ich versuche, drei verschiedene Tasten mit unterschiedlichen Schriftgrößen zu setzen, aber die Tasten sind alle mit der gleichen Schriftgröße erstellt - die Größe der letzten Taste Ich lege.Tkinter mehrere Tasten - verschiedene Schriftgrößen

Wie löse ich das? Mehrere Tasten, verschiedene Schriftgrößen? Offenbar sind alle Tasten haben nicht nur die gleiche Schriftgröße, sondern auch die gleiche Schriftfamilie ...

tk = Tk() 
tk.wm_title("Knowledge") 
frame = Frame(width=768, height=576, bg="", colormap="new") 
frame.pack_propagate(0) 
frame.pack() 



b = Button(frame, text = "Text", compound="left", command=callback, highlightthickness=0, font = Font(family='Helvetica', size=20, weight='bold'), bd=0, bg ="white") 
b.pack() 
b.place(x=100, y=100) 
a = Button(frame, text = "my", compound="left", command=callback, highlightthickness=0, font = Font(family='arial', size=24, weight='bold'), bd=0, bg ="white") 
a.pack() 
a.place(x=100, y=140) 
c = Button(frame, text = "Know", compound="left", command=callback, highlightthickness=0, font = Font(family='Helvetica', size=18, weight='bold'), bd=0, bg ="white") 
c.pack() 
c.place(x=100, y=180) 


tk.mainloop() 

Antwort

1

Die Schriften vom Garbage Collector zerstört zu werden. Speichern Sie die Schriftarten in einer Variablen, bevor Sie sie verwenden.

f1 = Font(family='Helvetica', size=20, weight='bold') 
f2 = Font(family='arial', size=24, weight='bold') 
f3 = Font(family='Helvetica', size=18, weight='bold') 

b = Button(..., font = f1, ...) 
a = Button(..., font = f2, ...) 
c = Button(..., font = f3, ...) 

Auch pack Aufruf ist sinnlos, da Sie sofort sind place direkt nach dem Aufruf. Sie müssen nur das eine oder das andere anrufen, nicht beide. Wenn Sie zwei oder mehr Geometrie-Manager aufrufen, wirkt sich nur der letzte Aufruf für jedes Widget aus.

Verwandte Themen