我正在尝试使用tkinter
模块中的一个按钮来设置GUI中Entry
小部件的文本。
这个GUI是为了帮助我将数千个单词分类到五个类别中。每个类别都有一个按钮。我希望使用按钮可以显著提高我的速度,并且我想在每次分类单词时进行双重检查,否则我会只使用按钮并让GUI处理当前单词并带出下一个单词。
某些原因导致命令按钮的行为不像我想要的那样。以下是一个示例:
import tkinter as tk
from tkinter import ttk
win = tk.Tk()
v = tk.StringVar()
def setText(word):
v.set(word)
a = ttk.Button(win, text="plant", command=setText("plant"))
a.pack()
b = ttk.Button(win, text="animal", command=setText("animal"))
b.pack()
c = ttk.Entry(win, textvariable=v)
c.pack()
win.mainloop()
到目前为止,当我能够编译时,点击没有任何反应。
import tkinter as tk
,因此带有e.delete(0,END)
的那一行要改成e.delete(0,tk.END)
。 - m3ndaimport tkinter as tk
,在其后面加上from tkinter.constants import *
通常也很方便,以避免在使用该模块定义的许多常量时需要添加前缀tk.
。但是你也可以直接使用字面字符串,无需导入任何内容。例如,e.delete(0,'end')
或e.delete(0,'END')
。 - martineau