如何在 Tkinter 中将文本条目存储为变量? [复制]

Posted

技术标签:

【中文标题】如何在 Tkinter 中将文本条目存储为变量? [复制]【英文标题】:How do I store a text entry as a variable in Tkinter? [duplicate] 【发布时间】:2015-12-27 10:21:08 【问题描述】:

所以.....

我希望我的程序启动一个 Tkinter GUI 窗口,它为用户提供文本框以输入字符串或整数形式的值..... 下面的代码就是这样做的

    from Tkinter import *


    def add_text():
       label1 = Label(root, text="You have entered the information to the average speed checker")
       label1.pack()

    root = Tk()
    root.title("Average Speed Checker")
    root.geometry("450x165")

    veh_reg_label = Label(root, text="Vehicle Registration:")
    veh_reg_label.pack()

    veh_reg_text_box = Entry(root, bd=1)
    veh_reg_text_box.pack()

    distance_label = Label(root, text="Distance")
    distance_label.pack()

    distance_text_box = Entry(root, bd=1)
    distance_text_box.pack()

    time_label = Label(root, text="Time")
    time_label.pack()

    time_text_box = Entry(root, bd=1)
    time_text_box.pack()

    enter_button = Button(root, text="Enter", command=add_text)
    enter_button.pack()

    root.mainloop()

然而...... 有一个问题:我似乎找不到一种(简单;))将此文本条目存储为变量的方法,这意味着我无法通过计算汽车是否超过行驶一段距离时的一定速度等......

【问题讨论】:

***.com/questions/14824163/… effbot.org/tkinterbook/entry.htm 感谢您的帮助! 【参考方案1】:

在你的 add_text() 函数中使用它:

 user_entry = self.text_box_name.get()

【讨论】:

【参考方案2】:

这似乎有效:

def retrieve_input():
    global vehicle_registration
    global vehicle_time
    global vehicle_distance
    vehicle_registration = veh_reg_text_box.get()
    vehicle_time = time_text_box.get()
    vehicle_distance = distance_text_box.get()
    number_checker()

【讨论】:

这与我的回答有何不同,为什么需要global 只是与你的略有不同;谢谢你的帮助:) 我发现我不需要'self',全局变量是因为在整个程序中随机使用变量以及this和其他函数;现在很乱;) 好的,我明白了,但是global 的东西确实需要“清理”。 :) 你应该标记答案,所以它显示为已解决。

以上是关于如何在 Tkinter 中将文本条目存储为变量? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

OOP tkinter:如何将焦点(并添加文本)设置为条目?

如何将文件位置存储到条目窗口小部件中--Tkinter

如何为 Tkinter 条目小部件设置默认文本

Tkinter - 双击获取条目文本(for循环)

如何使用 tkinter 创建多行条目?

如何在 Tkinter 中获得带有滚动条的 Frame?