Python 允许通过GUI更改Tkinter输入字段中预设文本的值
我有下面的代码来创建一手完整的输入字段,但是,尽管所有字段都正确创建,但在GUI中选择它们时,我无法尝试这些值。我可以高光文本已经作出,但从来没有输入任何东西。有人知道为什么会发生这种情况吗Python 允许通过GUI更改Tkinter输入字段中预设文本的值,python,tkinter,Python,Tkinter,我有下面的代码来创建一手完整的输入字段,但是,尽管所有字段都正确创建,但在GUI中选择它们时,我无法尝试这些值。我可以高光文本已经作出,但从来没有输入任何东西。有人知道为什么会发生这种情况吗 #importystuffs# def makeform(check, fields,values): entries = [] for field in fields: row = tk.Frame(check) lab = tk.Label(row, width=15, text=
#importystuffs#
def makeform(check, fields,values):
entries = []
for field in fields:
row = tk.Frame(check)
lab = tk.Label(row, width=15, text=field, anchor='w')
ent = tk.Entry(row)
#ent.insert(tk.END, values[field])
ent.configure(state=tk.NORMAL)
row.pack(side=tk.TOP, fill=tk.X, padx=5, pady=5)
lab.pack(side=tk.RIGHT)
ent.pack(side=tk.RIGHT, expand=tk.YES, fill=tk.X)
entries.append((field, ent))
return entries
#program
f= open ('input.details', 'r')
e = [ line.replace('\n','') for line in f.readlines()]
names=[ 'Name', 'Address_line1','Address_line2','Email','Standard','LC','other']
values= dict(zip(names,e))
check = tk.Tk()
check.overrideredirect(True)
#bg image
im = Image.open('img2.png')
tkimage = ImageTk.PhotoImage(im)
myvar=tk.Label(check,image = tkimage)
myvar.place(x=0, y=0, relwidth=1, relheight=1)
ents = makeform(check, names,values)
或者,以这种方式编写代码也会给我带来同样的问题
button={}
for element in names:
infoz = tk.Label(frame, text=element ,bg='white')
infoz.pack()
button[element] = tk.Entry(frame)
button[element].pack()
button[element].insert(10, values[element])
#print z.get()
print button['Name'].get()
z = tk.Entry(frame)
z.pack()
check.focus_force()
check.after(10000, run_program) # kills program
check.mainloop()
至于我,你的问题是检查。覆盖直接(真)
您可以使用它来制作无边框窗口(或制作全屏程序),但在某些系统中,它也不需要键盘访问该窗口。BTW:您忘记了
mainloop()
。如果您在空闲状态下运行它,则它在没有mainloop()的情况下工作;如果您在空闲状态下运行它,则在没有mainloop()的情况下它将不工作
.BTW:返回条目
需要缩进。您能否提供一个不需要输入的可复制/可复制/可运行示例。详细信息
或img2.png
?@furas mainloop和返回条目在正常代码中是正确的,这些只是将其复制到stackoverflow时的一个错误。然后始终使用按钮{}
在粘贴的代码上。