📅  最后修改于: 2023-12-03 15:06:37.041000             🧑  作者: Mango
在使用 Python 中的 Tkinter 模块进行图形用户界面设计时,我们通常需要从用户输入的小部件中读取值。这些小部件可以是按钮、文本框、下拉菜单等等。下面将介绍如何从 Tkinter 中的不同小部件中读取值。
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 组件中读取值,我们需要使用 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 组件中读取值,我们需要使用 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 组件中读取值,我们需要使用 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
函数并打印所选选项的值。