gpt4 book ai didi

python - 如何获得条目小部件来保存我输入的内容? Python Tkinter

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:28 25 4
gpt4 key购买 nike

我想制作一个输入个人详细信息的条目小部件,但是我想将这些详细信息保存为变量,以便将它们写入 txt 文件中。

from tkinter import *
root = Tk()
Label(root, text = "Childs First name").grid(row = 0, sticky = W)
Label(root, text = "Childs Surname").grid(row = 1, sticky = W)
Label(root, text = "Childs Year of Birth").grid(row = 2, sticky = W)
Label(root, text = "Childs Month of Birth").grid(row = 3, sticky = W)
Label(root, text = "Childs Day of Birth").grid(row = 4, sticky = W)

Fname = Entry(root)
Sname = Entry(root)
x = Entry(root)
y = Entry(root)
z = Entry(root)


Fname.grid(row = 0, column = 1)
Sname.grid(row = 1, column = 1)
x.grid(row = 3, column = 1)
y.grid(row = 2, column = 1)
z.grid(row = 4, column = 1)

Fname = Fname.get
Sname = Sname.get
x = x.get
y = y.get
z = z.get
mainloop()

我的代码工作得非常好,但是它不保存我输入的内容,更不用说将它保存在变量中了。我显然缺少代码块,但我不知道是什么代码。

P.S:此外,如果不是太多,我将如何制作一个按钮以继续执行下一行代码?

最佳答案

这个问题还没有得到解答,所以这里有一段完整的代码可以满足您的要求。

from tkinter import *

root = Tk()
Label(root, text = "Childs First name").grid(row = 0, sticky = W)
Label(root, text = "Childs Surname").grid(row = 1, sticky = W)
Label(root, text = "Childs Year of Birth").grid(row = 2, sticky = W)
Label(root, text = "Childs Month of Birth").grid(row = 3, sticky = W)
Label(root, text = "Childs Day of Birth").grid(row = 4, sticky = W)

Fname = Entry(root)
Sname = Entry(root)
x = Entry(root)
y = Entry(root)
z = Entry(root)


Fname.grid(row = 0, column = 1)
Sname.grid(row = 1, column = 1)
x.grid(row = 3, column = 1)
y.grid(row = 2, column = 1)
z.grid(row = 4, column = 1)

def getInput():

a = Fname.get()
b = Sname.get()
c = x.get()
d = y.get()
e = z.get()
root.destroy()

global params
params = [a,b,c,d,e]


Button(root, text = "submit",
command = getInput).grid(row = 5, sticky = W)
mainloop()

它不是很优雅,但它完全按照您的要求对您的版本进行了最少的更改。

如果你运行它,并输入1234 5 到你的输入字段,然后点击我添加的 submit 按钮,并打印 params list,你得到:

>>> params
['1', '2', '4', '3', '5']

如果出于某种原因您不希望窗口在提交后关闭,请省略 root.destroy() 并从那里获取它。

请注意,作为 Button 参数的 getInput 没有括号,因此它仅在单击按钮时调用,而不是在执行此行时调用。

最后,我不确定你的最后一个问题是什么意思,“我将如何制作一个按钮以继续到下一行代码”。您最后添加的 mainloop() 东西确保(除其他事项外)您的其余代码在框关闭之前不会执行(它还会启动一个循环收集事件并确保事件得到处理)。因此,一旦您单击 submit 并且窗口关闭,其余代码就会被执行。如果在 mainloop() 行之前或之后添加 print('hi') 语句,您将进一步理解这一点。如果您之前添加它,则该字符串将与窗口打开“同时”打印;如果你把它放在后面,它会在窗口关闭后打印出来。 (有关 mainloop() 的更多信息,请查看堆栈 herehere 中的广泛讨论)

关于python - 如何获得条目小部件来保存我输入的内容? Python Tkinter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39547768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com