【发布时间】:2018-04-14 07:41:10
【问题描述】:
我正在尝试创建一个 GUI,它将公制测量转换为英制或相反。但是,我无法从 Entry 小部件获取变量。我的确切错误是:
Tkinter 回调异常 回溯(最近一次通话最后): 文件“C:\Python32\lib\tkinter__init__.py”,第 1399 行,在 __call__ 中 返回 self.func(*args) TypeError:valid() 正好采用 1 个位置参数(给定 2 个)
我曾尝试使用textvariable 方法,但是我遇到了很多相同的错误。
我对此有点陌生,所以我不确定这里有什么问题。帮助将不胜感激。
from tkinter import *
root = Tk()
class Buttons:
def __init__(self,master,ImperialText,MetricText,metricVal):
self.ImperialText = ImperialText
self.MetricText = MetricText
self.master = master
self.Text1 = (ImperialText +'-'+ MetricText)
self.button = Button(self.master,text= self.Text1,command = self.calc)
self.button.grid(column = 0)
self.button.config(height= 3,width=30)
def calc(self):
self.EntryStr = None
self.entry = Entry(self.master)
self.label = Label(self.master,text = 'Enter '+self.ImperialText)
self.entry.grid(column = 1,row = 1)
self.label.grid(column = 1,row = 0)
self.entry.bind('<Return>',self.valid)
def valid(self):
print (str(self.entry.get()))
button1 = Buttons(root,'inches','centimetres',2.54)
button2 = Buttons(root,'miles','kilometres',1.6093)
button3 = Buttons(root,'foot','metres',0.3048)
button4 = Buttons(root,'yards','metres',0.9144)
button5 = Buttons(root,'gallons','litres',4.546)
button6 = Buttons(root,'pounds','kilograms',0.454)
button7 = Buttons(root,'ounces','grams',0.454)
root.mainloop()
【问题讨论】:
-
在 3.6 中对我来说没有错误,请确保您的缩进是正确的。
-
@Nae 你确定它适合你吗?应该不可能正常工作。你真的在输入框中输入了什么然后按回车键吗?
-
@BryanOakley 啊不,你是对的。我没试过输入-.-'
标签: python tkinter tkinter-entry