如何使用网格将标签置于tkinter colspan中心?

时间:2016-11-23 15:05:48

标签: python user-interface tkinter

我试图以#34为中心;这应该在中心"我的python数字键盘上的标签是用tkinter和grid制作的。

目前,它看起来像这样: 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,)

你能帮助我回到正轨吗?

2 个答案:

答案 0 :(得分:0)

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

我假设您希望它跨越所有三列,因此解决方案是将标签移动到第0列并使其跨越三列:

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

答案 1 :(得分:0)

您可以轻松解决

lbl_address = ttk.Label(addmission_form,text="Address")
    lbl_address.grid(row=7,column=0,padx=10,pady=10)
    txtBox_address = ttk.Entry(addmission_form ,width=100)
    txtBox_address.grid(row=7,column=1,columnspan=3,padx=40,pady=10)

此代码之外的将是这个 enter image description here