python-3.x - 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 网格几何管理器
推荐阅读
- javascript - 在 Fabric.js 中将对象拖动限制设置为圆形
- java - 如何使用 IO 资源从源中装饰 Stream 实例
- javascript - 渲染后的剑道工具栏事件
- html - 使用 VBA 让 Internet Explorer 从列表中选择项目
- gcc - 无需安装即可运行或使用 GCC
- frameworks - 当 Microsoft 更新基本包时,有什么方法可以通知?
- c# - 无法将整个列表打印到控制台
- sql - 在 Oracle SQL Developer 中比较两个 CLOB 列
- c++ - c ++迭代成员函数
- azure - 如何将 Azure VM 映像移动到其他位置