我尝试对齐以下条目小部件,但它不起作用。当我没有将它放入一个框架但是现在它没有正确对齐时,我能够正确地对齐它。在它出现在左侧之前,标签位于输入框的旁边,但现在它位于顶部中心。我试图改变坐标,但它不起作用。我希望能够像以前一样在左侧对齐它,因为我会在右侧放置其他东西。
def userinput():
#first
frame=Frame(root)
frame.place(x=55,y=50)
frame.pack()
L1=Label(frame,text="1",font=("calibri"))
L1.place(x=55,y=50)
L1.pack()
frame1=Frame(root)
frame1.place(x=70,y=50)
frame1.pack()
E1 = tk.Entry(frame1, width=30, bd=4)
E1.pack()
E1.bind('<Return>', lambda event, arg=(0): answer(event, arg))
#second
frame2=Frame(root)
frame2.place(x=55,y=80)
frame2.pack()
L2 = Label(frame2,text="2",font=("calibri"))
L2.pack()
frame3=Frame(root)
frame3.place(x=70,y=80)
frame3.pack()
E2 = tk.Entry(frame3,width=30, bd=4)
E2.pack()
E2.bind('<Return>', lambda event, arg=(1): answer(event, arg))
#third
frame4=Frame(root)
frame4.place(x=55,y=110)
frame4.pack()
L3 = Label(frame4,text="3",font=("calibri"))
L3.pack()
frame5=Frame(root)
frame5.place(x=70,y=110)
frame5.pack()
E3 = tk.Entry(frame5, width=30,bd=4)
E3.pack()
E3.bind('<Return>', lambda event, arg=(2): answer(event, arg))
答案 0 :(得分:0)
这是你正在寻找的吗?
class UI(Frame):
def __init__(self, parent):
self.parent = parent
Frame.__init__(self, parent)
self.create_widgets(parent)
def create_widgets(self, root):
#first
f1 = Frame(root)
e1 = Entry(f1, width=30, bd=4)
l1 = Label(f1, text="1")
e1.grid(row=0, column=0)
l1.grid(row=0, column=1)
f1.grid()
#second
f2 = Frame(root)
e2 = Entry(f2, width=30, bd=4)
l2 = Label(f2, text="2")
e2.grid(row=0, column=0)
l2.grid(row=0, column=1)
f2.grid()
#third
self.s1 = IntVar()
self.s1.set(3)
f3 = Frame(root)
e3 = Entry(f3, width=30, bd=4)
l3 = Label(f3, textvariable=s1)
e3.grid(row=0, column=0)
l3.grid(row=0, column=1)
f3.grid()
def set_score(self, score):
self.s1.set(score)
def test_ui():
root = Tk()
app = UI(root)
app.set_score(4)
app.mainloop()
test_ui()
我发现将小部件网格化比打包它们简单得多。