Python 如何自定义输入小部件并使用tkinter保存输入
我感兴趣的是如何通过另外打开另一个条目小部件(这里是电话号码)来定制给定的条目小部件,并根据是否添加了另一个条目来保存输入。 这就是我到目前为止所做的:Python 如何自定义输入小部件并使用tkinter保存输入,python,tkinter,Python,Tkinter,我感兴趣的是如何通过另外打开另一个条目小部件(这里是电话号码)来定制给定的条目小部件,并根据是否添加了另一个条目来保存输入。 这就是我到目前为止所做的: import tkinter as tk root=tk.Tk() root.geometry("600x400") name_var=tk.StringVar() surname_var=tk.StringVar() def getInput(): name=name_var.get()
import tkinter as tk
root=tk.Tk()
root.geometry("600x400")
name_var=tk.StringVar()
surname_var=tk.StringVar()
def getInput():
name=name_var.get()
surname=surname_var.get()
print("The name is : " + name)
print("The Surname is : " + surname)
name_var.set("")
surname_var.set("")
def addEntry():
phone_label = tk.Label(root, text = 'Phone', font=('calibre',10, 'bold'))
phone_entry = tk.Entry(root, font=('calibre',10,'normal'))
phone_label.grid(row=3,column=0)
phone_entry.grid(row=3,column=1)
name_label = tk.Label(root, text = 'Name', font=('calibre',10, 'bold'))
name_entry = tk.Entry(root,textvariable = name_var, font=('calibre',10,'normal'))
surname_label = tk.Label(root, text = 'Surname', font = ('calibre',10,'bold'))
surname_entry=tk.Entry(root, textvariable = surname_var, font = ('calibre',10,'normal'), show = '*')
name_label.grid(row=0,column=0)
name_entry.grid(row=0,column=1)
surname_label.grid(row=1,column=0)
surname_entry.grid(row=1,column=1)
save_btn=tk.Button(root,text = 'Save', command = getInput)
save_btn.grid(row=5,column=0)
add_btn=tk.Button(root,text = 'Add Info', command = addEntry)
add_btn.grid(row=5,column=1)
root.mainloop()
如何定义另一个用于保存附加电话输入的功能,并使用一个“保存”按钮进行保存?
非常感谢您不需要额外的函数来保存额外的输入,只需修改
getInput()
您可以为电话号码定义一个额外的StringVar
,phone\u var
(默认为'
),并将其连接到您在addEntry()
中创建的额外条目。然后,在getInput()
中,您可以获得phone\u var
的内容(即使条目不存在,它也始终存在)。如果它是”
,则不保存它
import tkinter as tk
root = tk.Tk()
root.geometry("600x400")
name_var = tk.StringVar()
surname_var = tk.StringVar()
phone_var = tk.StringVar() # extra StringVar for the optional entry
def getInput():
name = name_var.get()
surname = surname_var.get()
phone = phone_var.get()
print("The name is : " + name)
print("The Surname is : " + surname)
if phone: # save it only if not empty
print("The Phone is : " + phone)
name_var.set("")
surname_var.set("")
def addEntry():
phone_label = tk.Label(root, text='Phone', font=('calibre', 10, 'bold'))
phone_entry = tk.Entry(root, textvariable=phone_var, font=('calibre', 10, 'normal'))
phone_label.grid(row=3, column=0)
phone_entry.grid(row=3, column=1)
name_label = tk.Label(root, text='Name', font=('calibre', 10, 'bold'))
name_entry = tk.Entry(root, textvariable=name_var, font=('calibre', 10, 'normal'))
surname_label = tk.Label(root, text='Surname', font=('calibre', 10, 'bold'))
surname_entry = tk.Entry(root, textvariable=surname_var, font=('calibre', 10, 'normal'), show='*')
name_label.grid(row=0, column=0)
name_entry.grid(row=0, column=1)
surname_label.grid(row=1, column=0)
surname_entry.grid(row=1, column=1)
save_btn = tk.Button(root, text='Save', command=getInput)
save_btn.grid(row=5, column=0)
add_btn = tk.Button(root, text='Add Info', command=addEntry)
add_btn.grid(row=5, column=1)
root.mainloop()
我只是试了一下!你真让我高兴!非常感谢:)@Storm: