【发布时间】:2017-09-04 12:16:28
【问题描述】:
我正在编写一个将英制单位转换为公制单位的简单程序。但是,当我使用Entry.get() 命令时,我需要将其转换为整数,并且当我尝试这样做时
我收到此错误:
Traceback (most recent call last):
File "C:/Users/Bill/converter.py", line 18, in <module>
conversion=int(e.get())
ValueError: invalid literal for int() with base 10: ''
我尝试运行我正在做的一个非常基本的版本(如下所述),但这仍然导致同样的错误。
import tkinter
root= tkinter.Tk()
e=tkinter.Entry(root)
e.pack()
b=tkinter.Button(root, command= lambda: print(e.get()))
b.pack()
conversion=int(e.get())
conversion= conversion* 1.8 +32
l = tkinter.Label(root, text=conversion)
top.mainloop()
我最近才开始重新编码,所以答案可能很简单,我错过了,但感谢任何答案。
【问题讨论】:
-
您在创建小部件一毫秒后调用
e.get()。用户没有时间输入任何数据。
标签: python tkinter integer tkinter-entry