Python 允许通过GUI更改Tkinter输入字段中预设文本的值

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=

我有下面的代码来创建一手完整的输入字段,但是,尽管所有字段都正确创建,但在GUI中选择它们时,我无法尝试这些值。我可以高光文本已经作出,但从来没有输入任何东西。有人知道为什么会发生这种情况吗

 #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时的一个错误。然后始终使用按钮
{}
在粘贴的代码上。