将输入框中的数据存储在 tkinter 中

storing data from input box in tkinter

我得到了构建 store.Now 程序的任务,客户必须注册才能购买,我制作了一个主程序 window,其中包含我需要执行的每个操作的按钮履行。当用户尝试使用完成注册所需的数据注册另一个 window 时,会出现。现在如何将输入框中的数据存储到带有按钮的列表中?

下面是我如何设置用户需要填写的每个框的示例:

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())

要检索值,您需要访问它所附加的变量,而不是屏幕上的输入字段:

def get_data():
    print (ID.get())

几个问题:

  1. 除非你做 import tkinterfrom tkinter import * - 你不应该这样做;只需选择一个 - 您的程序将在 var1 = StringVar()ID=tkinter.StringVar().
  2. 上阻塞
  3. 先定义 get_data() 函数,然后再将其绑定到 Button
  4. 您分配了 box1 但随后 grid 分配给了 box

以下示例将获取盒子的内容,将其添加到 list,并在每次单击 "Accept." 时将 list 打印到控制台替换父项的名称 windows、grid 每个小部件的位置,等等以适合您的程序。

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()