📜  从条目 tkinter 中读取值 - Python (1)

📅  最后修改于: 2023-12-03 15:06:37.041000             🧑  作者: Mango

从条目 tkinter 中读取值 - Python

在使用 Python 中的 Tkinter 模块进行图形用户界面设计时,我们通常需要从用户输入的小部件中读取值。这些小部件可以是按钮、文本框、下拉菜单等等。下面将介绍如何从 Tkinter 中的不同小部件中读取值。

读取 Text 组件中的值

Text 组件可以用于输入多行文本。要从 Text 组件中读取值,我们需要使用 get 方法。以下是示例代码:

from tkinter import *

root = Tk()

text_box = Text(root, width=30, height=10)
text_box.pack()

def get_text():
    value = text_box.get("1.0", "end-1c")
    print(value)

button = Button(root, text="Submit", command=get_text)
button.pack()

root.mainloop()

在上面的代码中,我们使用 Text 函数创建一个文本框。然后,我们定义了一个名为 get_text 的函数,该函数将使用 get 方法从文本框中获取文本。在使用 get 方法时,我们需要指定起始和结束索引,以便获取整个文本框中的内容。注意,我们使用了 end-1c 作为结束索引。这是因为 end 会获取整个文本框的最后一行,然后我们需要再减去一个字符,以剔除最后的换行符。最后,我们创建了一个按钮,当用户单击该按钮时,将调用 get_text 函数并打印文本框中的内容。

读取 Entry 组件中的值

Entry 组件用于单行文本输入。要从 Entry 组件中读取值,我们需要使用 get 方法,并将其作为字符串返回。以下是示例代码:

from tkinter import *

root = Tk()

entry = Entry(root)
entry.pack()

def get_entry():
    value = entry.get()
    print(value)

button = Button(root, text="Submit", command=get_entry)
button.pack()

root.mainloop()

在上面的代码中,我们使用 Entry 函数创建一个单行文本框。然后,我们定义了一个名为 get_entry 的函数,该函数将使用 get 方法从文本框中获取文本。最后,我们创建了一个按钮,当用户单击该按钮时,将调用 get_entry 函数并打印文本框中的内容。

读取 Checkbutton 组件中的值

Checkbutton 组件用于创建一个复选框。要从 Checkbutton 组件中读取值,我们需要使用 get 方法,并将其作为整数返回(0 或 1)。以下是示例代码:

from tkinter import *

root = Tk()

check_var = IntVar()

checkbutton = Checkbutton(root, text="Check me", variable=check_var)
checkbutton.pack()

def get_checkbutton():
    value = check_var.get()
    print(value)

button = Button(root, text="Submit", command=get_checkbutton)
button.pack()

root.mainloop()

在上面的代码中,我们使用 Checkbutton 函数创建一个复选框,并将 IntVar 类型的变量 check_var 作为其 variable 参数传递。然后,我们定义了一个名为 get_checkbutton 的函数,该函数将使用 get 方法从复选框中获取值。最后,我们创建了一个按钮,当用户单击该按钮时,将调用 get_checkbutton 函数并打印复选框的状态(0 或 1)。

读取 Radiobutton 组件中的值

Radiobutton 组件用于创建一组选项按钮,其中只能选择一个。要从 Radiobutton 组件中读取值,我们需要使用 get 方法,并将其作为所选选项的值返回。以下是示例代码:

from tkinter import *

root = Tk()

radio_var = StringVar()

radiobutton1 = Radiobutton(root, text="Option 1", value="1", variable=radio_var)
radiobutton1.pack()

radiobutton2 = Radiobutton(root, text="Option 2", value="2", variable=radio_var)
radiobutton2.pack()

def get_radiobutton():
    value = radio_var.get()
    print(value)

button = Button(root, text="Submit", command=get_radiobutton)
button.pack()

root.mainloop()

在上面的代码中,我们使用 Radiobutton 函数创建了两个选项按钮,并将 StringVar 类型的变量 radio_var 作为它们的 variable 参数传递。注意,我们为每个选项按钮指定了一个不同的值。然后,我们定义了一个名为 get_radiobutton 的函数,该函数将使用 get 方法从所选选项中获取值。最后,我们创建了一个按钮,当用户单击该按钮时,将调用 get_radiobutton 函数并打印所选选项的值。