Python 3:按钮和输入文本在文本框中的位置



我是python的新手,正在学习创建一个包含两个条目和一个按钮的文本框。

我可以设置两个条目的位置,但无法设置它们下方按钮的位置。

我尝试使用:

b.place(anchor=S, bordermode=OUTSIDE, height=5, width=10)

但是按钮根本不动。它停留在右下角。

以下是我的代码:

from tkinter import *
root = Tk()
l1 = Label(root, text="Variable_1")
l1.pack( side = LEFT)
e1 = Entry(root, bd = 5)
e1.pack(side = LEFT)
l2 = Label(root, text="Variable_2")
l2.pack( side = LEFT)
e2 = Entry(root, bd = 5)
e2.pack(side = LEFT)
l = Label(root)
def callback():
x = e1.get()
y = e2.get()
print(x)
print(y)
b = Button(root, text="OK", command=callback)
for widget in (e1, e2, l, b):
widget.pack()

如何将按钮放置在文本框的底部中心

另外,有什么改变参赛作品位置的建议吗?

谢谢!

构建复杂布局的常用方法是将关联的小部件与框架组合在一起。在下面的例子中,我将条目分组在一个框架中,将按钮分组在另一个框架。这使得控制垂直定位更加容易。

from tkinter import *
root = Tk()
top = Frame(root)   # Create frame to hold entrys
top.pack()          # Pack top frame
l1 = Label(top, text="Variable_1")
l1.pack(side=LEFT)
e1 = Entry(top, bd=5)
e1.pack(side=LEFT)
l2 = Label(top, text="Variable_2")
l2.pack(side=LEFT)
e2 = Entry(top, bd=5)
e2.pack(side=LEFT)
l = Label(root)
def callback():
x = e1.get()
y = e2.get()
print(x)
print(y)
bottom = Frame(root)    # Create frame to hold button
bottom.pack()           # Pack bottom frame
b = Button(bottom, text="OK", command=callback)
b.pack()

也可以使用grid()几何图形管理器。请参阅Tkinter网格几何管理器

最新更新