2016-11-23 101 views
0

我试图将我的python数字键盘上的“这应该在中心”标签中,我用tkinter和网格进行了编辑。如何使用网格将tkinter colspan中的标签居中?

目前,它看起来像这样: The label is not in center

我试图添加anchor=CENTER到标签的属性,但它并没有改变。

下面是数字小的相关代码:

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,) 

你能帮我重回正轨吗?

回答

0

您将标签放在第1列并告诉它跨越两列。因此,在第1列和第2列

我假设你希望它跨越所有三个列,因此该解决方案是将标签移动到零柱,并将它跨越三列:

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

中课程。谢谢! – randomcoding