python - 使用 grid() 编译时出现在不同行上的标签和输入字段
问题描述
我正在尝试修改一个教程(https://www.python-course.eu/tkinter_entry_widgets.php),我发现它通过一个函数创建了多个条目。我正在尝试将其从 pack() 更改为 grid(),但是当我这样做时,我的标签和输入字段位于不同的行上。我希望有人能指出我的错误并得到纠正。提前谢谢你。
import tkinter as tk
fields = 'Last Name', 'First Name', 'Job', 'Country',
def fetch(entries):
for entry in entries:
field = entry[0]
text = entry[1].get()
print('%s: "%s"' % (field, text))
def makeform(root, fields):
entries = []
colspanlabel = 0
colspanentry = 1
rowspan = 0
for field in fields:
row = tk.Frame(root)
lab = tk.Label(row, width=15, text=field)
ent = tk.Entry(row)
row.grid(row = rowspan)
lab.grid(column= colspanlabel)
ent.grid(column= colspanentry)
entries.append((field, ent))
rowspan += 1
return entries
if __name__ == '__main__':
root = tk.Tk()
ents = makeform(root, fields)
root.bind('<Return>', (lambda event, e=ents: fetch(e)))
b1 = tk.Button(root, text='Show',
command=(lambda e=ents: fetch(e)))
b1.grid(row = 5, column = 0)
b2 = tk.Button(root, text='Quit', command=root.quit)
b2.grid(row = 5, column = 1)
root.mainloop()
解决方案
推荐阅读
- r - 在 R 中对齐、重新缩放向量、绘图
- php - PHP 我希望它给我与用户相关的正确信息
- php - 在php中显示视频函数的比特率和帧尺寸
- python - Pycharm - Python 中的导入模块 - 不同的行为 - MAC 与 Windows
- javascript - 将innerhtml拆分为文本以在javascript中翻译JSON
- hadoop - 无法使用 Zookeeper 连接字符串通过 JDBC 连接到 Hive
- python - Python 生成创建表
- node.js - nodejs为什么变量在页面重新加载时持续存在?
- javascript - 用于动态输入类型的 Google Address API
- javascript - 如何在表格中显示 algolia 搜索结果