【发布时间】:2022-08-16 22:12:53
【问题描述】:
我创建了多个窗口,我想打印和存储在 TopLevel 窗口之一中输入的数据,但它无法存储和打印数据。当我在没有多个窗口的情况下做同样的事情时,我能够做到这一点。这里有什么问题,让我知道。
from tkinter import *
def Read():
name = namevalue.get()
print(\'Name:\',name)
with open(\'attendance_data/detail.csv\',\'a+\') as f:
f.write(name)
def New():
top1 = Toplevel()
top1.geometry(\'500x500\')
top1.resizable(False,False)
top1.title(\'Existing Employee Details\')
l1 = Label(top1,text=\'New Employee Registeration\',font=\'comicsans 14 bold\',padx=10).grid(row = 0,column=3,pady=50)
name = Label(top1,text=\'Name\',padx=20)
name.grid(row=1,column=2)
namevalue = StringVar()
nameEntry = Entry(top1,textvariable=namevalue).grid(row=1,column=3,pady=25)
Button(top1,text=\'Submit\',command=Read).grid(row=4,column=3,pady=25) # command
top1.mainloop()
root = Tk()
root.geometry(\'500x500\')
root.resizable(False,False)
root.title(\'Main Window\')
l2 = Label(root,text=\'New Employee Registeration\',font=\'comicsans 14 bold\',padx=10).grid(row = 0,column=2,pady=50,padx=50)
b1 = Button(text=\'New Employee\',bg=\'black\',fg=\'red\',font=\'comicsansms 12 bold\',command=New).grid(row=10,column=2,pady=50)
b2 = Button(text=\'Existing Employee\',bg=\'black\',fg=\'red\',font= \'comicsansms 12 bold\').grid(row = 11,column=2,pady=50)
root.mainloop()
当我不使用多个 Windows 时,我可以打印和存储输入的数据
from tkinter import *
def Read():
name = namevalue.get()
print(\'Name:\',name)
with open(\'attendance_data/detail.csv\',\'a+\') as f:
f.write(name)
root = Tk()
root.geometry(\'500x500\')
root.resizable(False,False)
root.title(\'Main Window\')
name = Label(root,text=\'Name\',padx=20)
name.grid(row=1,column=2)
namevalue = StringVar()
nameEntry = Entry(root,textvariable=namevalue).grid(row=1,column=3,pady=25)
Button(root,text=\'Submit\',command=Read).grid(row=4,column=3,pady=25) # command
root.mainloop()
在这方面帮助我。
标签: python tkinter tkinter-entry toplevel tkinter-button