我想创建一个动态GUI,它将根据用户输入(numshoes(更改输入框的数量
我在下面成功地做到了。。。但是,我希望每行有两个输入框,现在我只有一个。
我以为self.entrys[-1].grid(row=ii, column=2)
会添加另一列输入,但我仍然只有一列。
有什么想法吗?
import tkinter as tk
from tkinter import *
numshoes = 6
shoes = ['shoe1', 'shoe2', 'shoe3', 'shoe4', 'shoe5','shoe6']
master = tk.Tk()
class test:
def __init__(self, root):
self.variables = []
for i in range(numshoes):
self.variables.append(StringVar())
self.labels = []
self.entrys = []
for ii in range(numshoes):
char = str((shoes[ii]))
self.labels.append(Label(root , text = char))
self.labels[-1].grid(padx=0, pady=0, row=ii, column=0)
self.entrys.append(Entry(root, textvariable =self.variables[ii]))
self.entrys[-1].grid(padx=0, pady=0, row=ii, column=1)
self.entrys[-1].grid(row=ii, column=2)
root = Tk()
tk.Button(root, text='Finish',command=master.quit).grid(row=(numshoes+1), column=1,sticky =tk.W, pady=4)
# root.geometry("200x600+50+50")
T = test(root)
root.mainloop()
我以为self.entrys[-1].grid(row=ii,column=2(会添加另一列输入,但我仍然只有一列。
否,它只将该条目移动到第2列。如果你想在一行上有两个Entry
小部件,你必须为每行创建两个Entry
小部件。