我想做一个输入个人详细信息的条目小部件,但是我想将这些详细信息保存为变量,这样我就可以将它们写在一个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()
我的代码工作得非常好,但是它没有保存我输入的内容,更不用说保存在变量中了。很明显我丢失了很多代码,但是我不知道是什么代码。
另外,如果不是太多的话,我该怎么做一个按钮来继续下一行代码呢?
Entry小部件有一个
get
方法,可以在需要时用于获取值。您的“save”函数只需在写入文件之前调用此函数。例如:
这个问题还没有得到回答,所以这里有一个完整的代码块来完成您的请求。
它不是很优雅,但它完全按照您的要求,对您的版本进行最少的更改。
如果运行它,并在条目字段中输入
1
、2
、3
、4
、和5
,然后单击我添加的submit
按钮,并打印params
list
,您将得到:如果出于某种原因,您不希望在提交后关闭窗口,请省略
root.destroy()
,并从中删除它。注意,
getInput
作为一个Button
参数没有括号,因此它只在单击按钮时调用,而不是在执行此行时调用。最后,我不知道你最后一个问题的意思是什么,“我如何制作一个按钮继续下一行代码”。最后添加的
mainloop()
内容确保(除其他外)在框关闭之前不会执行其余代码(它还启动一个收集事件并确保处理事件的循环)。因此,一旦单击submit
并关闭窗口,其余代码就会执行。如果在mainloop()
行之前或之后添加print('hi')
语句,您将进一步理解这一点。如果在前面添加,字符串将与窗口的打开“同时”打印;如果在后面添加,字符串将在窗口关闭后打印。(有关mainloop()
的更多信息,请查看堆栈here和here中的广泛讨论)相关问题 更多 >
编程相关推荐