字符串变量只是拒绝转换成整数

2024-10-05 14:28:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个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,但仍然没有成功。你知道吗

我的代码中是否有一个明显的错误我遗漏了,或者我只是疯了?你知道吗


Tags: 代码textselfmastergodatetimecolumnbutton