tkinter按钮命令函数未定义
我正在尝试从文本框获取输入,并把这些输入写入一个文件中。但是我遇到了一个错误:retrieve_input没有定义。请帮我修正我的代码:
代码如下:
import tkinter as tki
class App(object):
def __init__(self,root):
self.root = root
# create a Frame for the Text and Scrollbar
txt_frm = tki.Frame(self.root, width=600, height=400)
txt_frm.pack(fill="both", expand=True)
# ensure a consistent GUI size
txt_frm.grid_propagate(False)
self.txt1 = tki.Text(txt_frm, borderwidth=3, relief="sunken", height=4,width=55)
self.txt1.config(font=("consolas", 12), undo=True, wrap='word')
self.txt1.grid(row=0, column=1, sticky="nsew", padx=2, pady=2)
scrollb1 = tki.Scrollbar(txt_frm, command=self.txt1.yview)
scrollb1.grid(row=0, column=2, sticky='nsew')
self.txt1['yscrollcommand'] = scrollb1.set
button = tki.Button(self,text=u"Click command=retrieve_input)
button.grid(column=1,row=0)
def retrieve_input():
input = self.txt1.get("0.0",'END-1c')
with open('hello.txt','w') as f:
f.wite(input)
root = tki.Tk()
app = App(root)
root.mainloop()
1 个回答
1
除了明显的拼写错误,问题出在这一行:
button = tki.Button(self,text="Click", command = self.retrieve_input)
注意,你传给tk.Button的第一个参数是self。第一个参数必须是一个控件,但你给的是self,这不是一个控件。也许你应该用txt_form来代替?