我得到了建立商店程序的任务。现在,客户必须注册才能购买,我创建了一个主窗口,其中包含我需要执行的每个操作的按钮。当用户尝试注册另一个窗口时,显示完成注册所需的数据。现在如何将输入框中的数据存储到带有按钮的列表中?
以下是我如何设置用户需要填写的每个框的示例:
var1 = StringVar()
var1.set("ID:")
label1 = Label(registerwindow,textvariable=var1,height = 2)
label1.grid(row=0,column=1)
ID=tkinter.StringVar()
box1=Entry(registerwindow,bd=4,textvariable=ID)
box.grid(row=0,column=2)
botonA= Button(registerwindow, text = "accept",command=get_data, width=5)
botonA.grid(row=6,column=2)
我尝试设置按钮来运行获取输入的功能,但我现在正在工作。这就是我做的事情
def get_data():
print (box1.get())
答案 0 :(得分:2)
一些问题:
import tkinter
和from tkinter import *
- 你不应该这样做;只需选择一个 - 您的程序就会在var1 = StringVar()
或ID=tkinter.StringVar()
上阻塞。get_data()
函数绑定到Button
之前定义box1
函数。grid
,但随后box
ded list
。以下示例将获取该框的内容,将其添加到list
,并在每次单击“#34;接受”时将grid
打印到控制台。&#34 ;替换父窗口的名称,每个窗口小部件的from tkinter import *
root = Tk()
root.wm_title("Your program")
mylist = []
def get_data(l):
l.append(box1.get())
print(l)
var1 = StringVar()
var1.set("ID:")
label1 = Label(root,textvariable=var1,height = 2)
label1.grid(row=0,column=0)
ID=StringVar()
box1=Entry(root,bd=4,textvariable=ID)
box1.grid(row=0,column=1)
botonA= Button(root, text = "accept",command=lambda: get_data(mylist), width=5)
botonA.grid(row=0,column=2)
root.mainloop()
位置等,以适合您的程序。
{{1}}
答案 1 :(得分:-1)
要检索该值,您需要访问它所附加的变量,而不是屏幕上的输入字段:
def get_data():
print (ID.get())