按下按钮时如何在 tKinter 中修改选定的文本小部件?
How to modify a selected text widget in tKinter when pressing a button?
我有一个使用文本和按钮小部件的程序。我希望它在我按下按钮时在文本小部件中插入一个字符串,但我不知道该怎么做。谁能帮帮我?
图形用户界面有键盘焦点(或简称焦点)的概念。具有焦点的小部件将是获取键盘事件的小部件。通常在任何时候只能有一个具有键盘焦点的小部件。大多数情况下,焦点是自动处理的。例如,如果您单击文本小部件或条目小部件,该小部件将获得焦点。
你的问题的答案是调用 tkinter 的 focus_get
方法来获取具有键盘焦点的小部件。然后,您可以调用 insert
方法将文本插入该小部件。
下面是一个简单的例子。单击任何文本小部件,然后单击按钮,然后单击字符串“Hello!”将插入到具有焦点的文本小部件中。
import tkinter as tk
def insert_hello():
widget = root.focus_get()
widget.insert("end", "Hello!")
root = tk.Tk()
button = tk.Button(root, text="Hello", command=insert_hello)
button.pack(side="top")
for i in range(3):
text = tk.Text(root, width=40, height=4)
text.pack(side="top", fill="both", expand=True)
root.mainloop()
我有一个使用文本和按钮小部件的程序。我希望它在我按下按钮时在文本小部件中插入一个字符串,但我不知道该怎么做。谁能帮帮我?
图形用户界面有键盘焦点(或简称焦点)的概念。具有焦点的小部件将是获取键盘事件的小部件。通常在任何时候只能有一个具有键盘焦点的小部件。大多数情况下,焦点是自动处理的。例如,如果您单击文本小部件或条目小部件,该小部件将获得焦点。
你的问题的答案是调用 tkinter 的 focus_get
方法来获取具有键盘焦点的小部件。然后,您可以调用 insert
方法将文本插入该小部件。
下面是一个简单的例子。单击任何文本小部件,然后单击按钮,然后单击字符串“Hello!”将插入到具有焦点的文本小部件中。
import tkinter as tk
def insert_hello():
widget = root.focus_get()
widget.insert("end", "Hello!")
root = tk.Tk()
button = tk.Button(root, text="Hello", command=insert_hello)
button.pack(side="top")
for i in range(3):
text = tk.Text(root, width=40, height=4)
text.pack(side="top", fill="both", expand=True)
root.mainloop()