我一直在编写代码来记录数据。我让它只使用输入框,现在我要回去添加像单选按钮和下拉框这样的想法,我盯着单选按钮。
def addnew(gdpr,entry,entry1,entry2,entry3,entry4,entry5,entry6,entry7,entry8,entry9,entry10,count):
fname = entry.get()
sname = entry10.get()
address = entry1.get()
amount = entry2.get()
phone = entry3.get()
children = entry4.get()
age = entry5.get()
ref = entry6.get()
gdpr = gdpr.get()
if gdpr == 1:
gdpr2 = "yes"
elif gdpr == 2:
gdpr2 = "no"
date = entry8.get()
extra = entry9.get()
fname = fname.lower()
sname = sname.lower()
address = address.lower()
amount = amount.lower()
phone = phone.lower()
children = children.lower()
age = age.lower()
ref = ref.lower()
date = date.lower()
extra = extra.lower()
file3 = open("files.csv","a")
file3.write("\n" + fname + "," + sname + "," + address + "," + amount + "," + phone + "," + children + "," + age + "," + ref + "," + gdpr2 + "," + date + "," + extra)
file3.close()
count = count+1
entry.delete(0, "end")
entry10.delete(0, "end")
entry1.delete(0, "end")
entry2.delete(0, "end")
entry3.delete(0, "end")
entry4.delete(0, "end")
entry5.delete(0, "end")
entry6.delete(0, "end")
entry8.delete(0, "end")
entry9.delete(0, "end")
class nav(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
container = tk.Frame(self)
container.pack(side="top", fill="both", expand = True)
container.grid_rowconfigure(0, weight=1)
container.grid_columnconfigure(0, weight=1)
self.frames = {}
for F in (StartPage, PageOne, PageTwo, PageThree):
frame = F(container, self)
self.frames[F] = frame
frame.grid(row=0, column=0, sticky="nsew")
self.show_frame(StartPage)
def show_frame(self, cont):
frame = self.frames[cont]
frame.tkraise()
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self,parent)
canvas = tk.Canvas(self, height=Height, width=Width)
canvas.pack()
main = tk.Frame(self, bg='#00BFFF')
main.place(relx=0,rely=0, relheight=1, relwidth=1)
label = tk.Label(main, text="Hello Malcolm what would you like to do?", bg='#00BFFF')
label.place(relx=0.3, rely=0, relwidth=0.45, relheight=0.20)
button = tk.Button(main, text="Add someone new", bg='#90EE90', fg='black', command=lambda: controller.show_frame(PageOne))
button.place(relx=0.3, rely=0.2, relwidth=0.45, relheight=0.10)
button1 = tk.Button(main, text="Register a visit", bg='#90EE90', fg='black', command=lambda: controller.show_frame(PageTwo))
button1.place(relx=0.3, rely=0.4, relwidth=0.45, relheight=0.10)
button2 = tk.Button(main, text="View data", bg='#90EE90', fg='black', command=lambda: controller.show_frame(PageThree))
button2.place(relx=0.3, rely=0.6, relwidth=0.45, relheight=0.10)
button3 = tk.Button(main, text="End program", bg='#90EE90', fg='black', command=closed)
button3.place(relx=0.3, rely=0.8, relwidth=0.45, relheight=0.10)
class PageOne(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
gdpr = tk.IntVar
main2 = tk.Frame(self, bg='#00BFFF')
main2.place(relx=0,rely=0, relheight=1, relwidth=1)
label1 = tk.Label(main2, text="Add someone new", bg='#00BFFF')
label1.place(relx=0.3, rely=0, relwidth=0.45, relheight=0.10)
button = tk.Button(main2, text="Enter", bg='#90EE90', fg='black', command= lambda: addnew(entry,entry1,entry2,entry3,entry4,entry5,entry6,entry7,entry8,entry9,entry10,count))
button.place(relx=0.425, rely=0.925, relwidth=0.15, relheight=0.05)
label3 = tk.Label(main2, text="First name", bg='#00BFFF')
label3.place(relx=0.1, rely=0.075, relwidth=0.15, relheight=0.1)
label10 = tk.Label(main2, text="Surname", bg='#00BFFF')
label10.place(relx=0.1, rely=0.15, relwidth=0.15, relheight=0.1)
label4 = tk.Label(main2, text="Address", bg='#00BFFF')
label4.place(relx=0.1, rely=0.225, relwidth=0.15, relheight=0.1)
label5 = tk.Label(main2, text="Amount in house", bg='#00BFFF')
label5.place(relx=0.1, rely=0.3, relwidth=0.15, relheight=0.1)
label6 = tk.Label(main2, text="Phone number", bg='#00BFFF')
label6.place(relx=0.1, rely=0.375, relwidth=0.15, relheight=0.1)
label7 = tk.Label(main2, text="Children", bg='#00BFFF')
label7.place(relx=0.1, rely=0.45, relwidth=0.15, relheight=0.1)
label8 = tk.Label(main2, text="Age of children", bg='#00BFFF')
label8.place(relx=0.1, rely=0.525, relwidth=0.15, relheight=0.1)
label12 = tk.Label(main2, text="Referrer", bg='#00BFFF')
label12.place(relx=0.1, rely=0.60, relwidth=0.15, relheight=0.1)
label13 = tk.Label(main2, text="Have they done gdp?", bg='#00BFFF')
label13.place(relx=0.1, rely=0.675, relwidth=0.20, relheight=0.1)
label9 = tk.Label(main2, text="Date", bg='#00BFFF')
label9.place(relx=0.1, rely=0.75, relwidth=0.15, relheight=0.1)
label11 = tk.Label(main2, text="Extras", bg='#00BFFF')
label11.place(relx=0.1, rely=0.825, relwidth=0.15, relheight=0.1)
entry = tk.Entry(main2)
entry.place(relx= 0.3, rely=0.1, relwidth=0.65, relheight=0.05)
entry10 = tk.Entry(main2)
entry10.place(relx= 0.3, rely=0.175, relwidth=0.65, relheight=0.05)
entry1 = tk.Entry(main2)
entry1.place(relx= 0.3, rely=0.25, relwidth=0.65, relheight=0.05)
entry2 = tk.Entry(main2)
entry2.place(relx= 0.3, rely=0.325, relwidth=0.65, relheight=0.05)
entry3 = tk.Entry(main2)
entry3.place(relx= 0.3, rely=0.4, relwidth=0.65, relheight=0.05)
entry4 = tk.Entry(main2)
entry4.place(relx= 0.3, rely=0.475, relwidth=0.65, relheight=0.05)
entry5 = tk.Entry(main2)
entry5.place(relx= 0.3, rely=0.55, relwidth=0.65, relheight=0.05)
entry6 = tk.Entry(main2)
entry6.place(relx= 0.3, rely=0.625, relwidth=0.65, relheight=0.05)
entry7 = tk.Entry(main2)
#entry7.place(relx= 0.3, rely=0.70, relwidth=0.65, relheight=0.05)
rb1 = tk.Radiobutton(main2, text="Yes", variable=gdpr, value=1,bg='#00BFFF',activebackground='#00BFFF')
rb1.place (relx= 0.3, rely=0.70, relwidth=0.30, relheight=0.05)
rb2 = tk.Radiobutton(main2, text="no", variable=gdpr, value=2,bg='#00BFFF',activebackground='#00BFFF')
rb2.place (relx= 0.6, rely=0.70, relwidth=0.30, relheight=0.05)
entry8 = tk.Entry(main2)
entry8.place(relx= 0.3, rely=0.775, relwidth=0.65, relheight=0.05)
entry9 = tk.Entry(main2)
entry9.place(relx= 0.3, rely=0.85, relwidth=0.65, relheight=0.05)
buttonback = tk.Button(self, text="Back to Home", bg='#90EE90', fg='black', command=lambda: controller.show_frame(StartPage))
buttonback.place(relx=0, rely=0.95, relwidth=0.15, relheight=0.05)
问题是当我运行这段代码时,它出现了一个类型错误,提示缺少一个参数,并且该参数可能是 self.这将表明这是一个传递错误,尽管我不知道该传递什么。请问有人可以帮忙吗?