å¯ä»¥ä½¿ç¨StringVar()对象æ¥å®æï¼æEntryçtextvariableå±æ§è®¾ç½®ä¸ºStringVar()ï¼åéè¿StringVar()çget()åset()å½æ°å¯ä»¥è¯»ååè¾åºç¸åºå 容ï¼ä»¥ä¸ä¸ºæµè¯ä»£ç ï¼python3.xï¼ï¼
from tkinter import *
def submit():
print(u.get())
p.set(u.get())
root = Tk()
root.title("æµè¯")
frame = Frame(root)
frame.pack(padx=8, pady=8, ipadx=4)
lab1 = Label(frame, text="è·å:")
lab1.grid(row=0, column=0, padx=5, pady=5, sticky=W)
#ç»å®å¯¹è±¡å°Entry
u = StringVar()
ent1 = Entry(frame, textvariable=u)
ent1.grid(row=0, column=1, sticky='ew', columnspan=2)
lab2 = Label(frame, text="æ¾ç¤º:")
lab2.grid(row=1, column=0, padx=5, pady=5, sticky=W)
p = StringVar()
ent2 = Entry(frame, textvariable=p)
ent2.grid(row=1, column=1, sticky='ew', columnspan=2)
button = Button(frame, text="ç»å½", command=submit, default='active')
button.grid(row=2, column=1)
lab3 = Label(frame, text="")
lab3.grid(row=2, column=0, sticky=W)
button2 = Button(frame, text="éåº", command=quit)
button2.grid(row=2, column=2, padx=5, pady=5)
#以ä¸ä»£ç å±
ä¸æ¾ç¤ºçªå£
root.update_idletasks()
x = (root.winfo_screenwidth() - root.winfo_reqwidth()) / 2
y = (root.winfo_screenheight() - root.winfo_reqheight()) / 2
root.geometry("+%d+%d" % (x, y))
root.mainloop()
ææå¦ä¸ï¼
编译器提示有错
追答def printentry():这个OK了,那能不能把输入的内容通过标签的形式显示出来?或者在另外一个输入框里面输出刚才输入的内容?
追答def printentry():将标签的texvariable设为另一个StringVar,然后将此StringVar的内容set为从Entry对应的StringVar get得到的内容