2016-11-23 3 views
0

Ich versuche, die "Dies sollte in der Mitte" Etikett auf meinem Python-Nummernblock, die ich mit Tkinter und Gitter gemacht.Wie man ein Etikett in einem tkinter colspan mit Gitter zentriert?

Derzeit sieht es wie folgt aus: The label is not in center

Ich habe versucht, anchor=CENTER auf die Attribute des Labels hinzufügen, aber es keine Änderung vorgenommen hat.

Hier ist der entsprechende Code für die Nummernpad:

class App: 
numdigs = 0 
def __init__(self, root): 
    frame = Frame(root) 
    grid=Frame(frame) 
    b = Label(root, text="This should be in center") 
    b.grid(row=0, column=1, columnspan=2) 
    b = Button(root, text="1", width=10, command= lambda *args: self.setVar(1)) 
    b.grid(row=1, column=0) 
    b = Button(root, text="2", width=10,command= lambda *args: self.setVar(2)) 
    b.grid(row=1, column=1,) 
    b = Button(root, text="3", width=10,command= lambda *args: self.setVar(3)) 
    b.grid(row=1, column=2,) 
    b = Button(root, text="4", width=10,command= lambda *args: self.setVar(4)) 
    b.grid(row=2, column=0,) 
    b = Button(root, text="5", width=10,command= lambda *args: self.setVar(5)) 
    b.grid(row=2, column=1,) 
    b = Button(root, text="6", width=10,command= lambda *args: self.setVar(6)) 
    b.grid(row=2, column=2,) 
    b = Button(root, text="7", width=10,command= lambda *args: self.setVar(7)) 
    b.grid(row=3, column=0,) 
    b = Button(root, text="8", width=10,command= lambda *args: self.setVar(8)) 
    b.grid(row=3, column=1,) 
    b = Button(root, text="9", width=10,command= lambda *args: self.setVar(9)) 
    b.grid(row=3, column=2,) 
    b = Button(root, text="*", width=10,command= lambda *args: self.setVar("*")) 
    b.grid(row=4, column=0,) 
    b = Button(root, text="0", width=10,command= lambda *args: self.setVar(0)) 
    b.grid(row=4, column=1,) 
    b = Button(root, text="#", width=10,command= lambda *args: self.setVar("#")) 
    b.grid(row=4, column=2,) 

Können Sie mir helfen, hier wieder auf die Strecke?

Antwort

0

Sie legen das Etikett in Spalte 1 und sagte, dass es zwei Spalten überspannen soll. Deshalb ist es in der Spalte 1 und Spalte 2.

Ich nehme an, Sie wollen es alle drei Spalten zu überbrücken, so dass die Lösung ist das Etikett auf Spalte Null zu bewegen und haben sie drei Spalten erstrecken:

b.grid(row=0, column=0, columnspan=3) 
+0

Of Kurs. Vielen Dank! – randomcoding