我正在编写一个pythongui应用程序,它从用户那里获取一个条目,将其转换为一个整数,然后将该整数与datetime模块一起使用。不过,我遇到了一个问题,希望你能帮忙。你知道吗
我用Tkinter构建了一个包含3个元素的GUI,一个输入框,一个“GO!”按钮和“退出”按钮。以下是我的简化代码:
class MyFirstGUI:
def __init__(self, master):
numberdate = StringVar()
Label(root,text="Enter the Number of days you would like to search in").grid(row=0)
self.a = Entry(root,textvariable=numberdate )
self.a.grid(row=0, column=1)
self.close_button = Button(master, text="Close", command=master.quit)
self.close_button.grid(row=3, column=1)
self.macro_button = Button(master, text="GO!", command=self.macro)
self.macro_button.grid(row=4, column=1)
现在这似乎足够简单了,我知道我已经将变量保存为StringVar,但稍后我会解决这个问题。现在当“开始!”按下按钮,它执行另一部分代码,如下所示:
numberdate = self.a.get()
int(numberdate)
date_threshold = datetime.datetime.today() - datetime.timedelta(days=numberdate)
但是,每当我运行此代码时,python都会向我抛出以下错误:
TypeError: unsupported type for timedelta days component: str
很明显,这意味着变量numberdate还没有被转换成整数,它仍然是一个数字,但就我的一生而言,我不知道为什么。你知道吗
我在代码的前半部分尝试将变量保存为IntVar,但仍然没有成功。你知道吗
我的代码中是否有一个明显的错误我遗漏了,或者我只是疯了?你知道吗
转换发生了,但没人听。必须将名称重新绑定到返回值:
相关问题 更多 >
编程相关推荐