2013-10-26 12 views
5

Sto cercando di mettere un LabelFrame che visualizza un Label all'interno di un Canvas tuttavia ricevo questo errore:Creazione di un LabelFrame all'interno di un Tkinter Canvas

TclError: can't use .28425672.27896648 in a window item of this canvas

Ecco il mio codice:

from Tkinter import LabelFrame, Label, Tk, Canvas 

root = Tk() 

canvas = Canvas(root) 
canvas.pack() 

label_frame = LabelFrame(text="I'm a Label frame") 
label = Label(label_frame,text="Hey I'm a Label") 

canvas.create_window(10,20,window=label) 

root.mainloop() 

risposta

2

Marchio il label_frame figlio di canvas e il pacchetto label all'interno del frame. Quindi passare label_frame (anziché label) a create_window.

... 
label_frame = LabelFrame(canvas, text="I'm a Label frame") 
label = Label(label_frame, text="Hey I'm a Label") 
label.pack() 

canvas.create_window(10, 20, window=label_frame, anchor='w') 
... 

anchor è CENTER per impostazione predefinita. Per allineare correttamente, specificare l'ancoraggio come w.

+0

Non viene visualizzato 'Labelframe', quindi scusa :( –

+0

@KDawG, ho aggiornato la risposta – falsetru

+0

che è stata una modifica incredibile! Grazie! –

Problemi correlati