Python 3.x 如何在列表中添加信息

Python 3.x 如何在列表中添加信息,python-3.x,tkinter,get,Python 3.x,Tkinter,Get,对不起,这些简单的问题,我是初学者。我试图获取信息(员工的姓名、工资和年龄),并在窗口中以标题(姓名、工资、年龄)显示在列表中。但我不知道如何获取信息并在列表中进行管理 from tkinter import * from tkinter.ttk import * addemploye = Tk() addemploye.geometry("400x400") Label(addemploye, text="Name").pack() e1 = Entry(a

对不起,这些简单的问题,我是初学者。我试图获取信息(员工的姓名、工资和年龄),并在窗口中以标题(姓名、工资、年龄)显示在列表中。但我不知道如何获取信息并在列表中进行管理

from tkinter import *
from tkinter.ttk import *


    addemploye = Tk()
    addemploye.geometry("400x400")
    Label(addemploye, text="Name").pack()
    e1 = Entry(addemploye, width=20).pack()

    Label(addemploye, text="Salary").pack()
    e2 = Entry(addemploye, width=20).pack()

    Label(addemploye, text="Age").pack()
    e3 = Entry(addemploye, width=20).pack()

    B2 = Button(addemploye , text = "Save", command = getting)
    B2.pack()
    B3 = Button(addemploye, text="Close", command=addemploye.destroy)
    B3.pack()

window = Tk()
window.title("Table with add, edit and delete")
window.geometry('400x400')
window.title("Table with add employee")
window.geometry('500x500')
btn = Button(window, text="+ add new employee",command = addemployee)
btn.place(relx=0.95, rely=0.9, anchor=SE)
window.mainloop()

有几件事:不要创建一个以上的
Tk()
实例。看见而是将新窗口创建为
Toplevel()

Button()
命令参数需要一个函数,因此我编写了一个函数,它使用
Toplevel()
创建对话框窗口

在小部件上调用
pack()
时,返回值将来自
pack()
,而不是来自小部件创建。下面的示例中,变量
e2
将获得值
None

e2 = Entry(addemploye, width=20).pack()
而是先创建小部件,然后打包:

e2 = Entry(addemploye, width=20)
e2.pack()
变量
e2
现在将指向该条目。您还可以通过将每个
entry()
StringVar()
关联来管理条目中的文本

我举了一个例子,在这个例子中,我将entrys中的数据附加到一个列表中。然后,您可以将此列表保存到任何需要的位置

from tkinter import *
from tkinter.ttk import *

window = Tk()
window.geometry('500x500+900+50')
window.title("Table with add employee")

table_row = []  # List to hold data from addemployee

def addemployee():
    dialog = Toplevel(window)
    dialog.geometry('400x400+800+250')
    dialog.title('Add new employee')
    dialog.focus_set()

    Label(dialog, text="Name").pack()
    e1 = Entry(dialog, width=20)
    e1.pack()

    Label(dialog, text="Salary").pack()
    e2 = Entry(dialog, width=20)
    e2.pack()

    Label(dialog, text="Age").pack()
    e3 = Entry(dialog, width=20)
    e3.pack()

    def getting():
        table_row.append(e1.get())  # Append Name to table_row
        table_row.append(e2.get())  # etc.
        table_row.append(e3.get())
        # Save table_row to where you want it
        print(table_row)    # For debugging

    B2 = Button(dialog , text = "Save", command=getting)
    B2.pack()
    B3 = Button(dialog, text="Close", command=dialog.destroy)
    B3.pack()

btn = Button(window, text="+ add new employee", command=addemployee)
btn.place(relx=0.95, rely=0.9, anchor=SE)

window.mainloop()

非常感谢您的指导和有用的建议