Tkinter按钮从输入不变

时间:2019-06-04 02:01:45

标签: python button tkinter

只是第一次弄乱tkinter,我不知道为什么我的按钮不起作用。基本上,input_grade应该从value的{​​{1}}得到一个entry_for_grades,然后将其打印在同一quiz_amount上,但我会一直返回0

我抬起头,以为我应该使用window,但是无论输入什么内容,它都会一直给我0,然后按ok

lambda

1 个答案:

答案 0 :(得分:1)

我使用了您的代码并将其制成a Minimal, Reproducible Example(我认为),对我来说很好用。

代码如下:

from tkinter import *


def quiz(quiz_window):
    # window(quiz_window)
    quiz_window.title('Quiz Grades')
    width = quiz_window.winfo_reqwidth()
    height= quiz_window.winfo_reqheight()
    quiz_window.geometry('{}x{}'.format(width, height))
    entry_for_grades = Entry(quiz_window, textvariable=quiz_amount)
    entry_for_grades.pack()
    grade_amount = Button(quiz_window,text='Ok',command=lambda:see_text(quiz_window)).place(x=85,y=60)
def see_text(window):
    Label(window,text=float(quiz_amount.get())).place(x=85,y=90)


if __name__ == '__main__':
    quiz_window = Tk()
    quiz_amount = IntVar()
    quiz(quiz_window)
    quiz_window.mainloop()

我唯一想到的问题是,就像Novel所说的那样,您正在使用多个Tk()窗口,并试图在这些窗口之间传递变量。

几乎不能使用多个Tk()窗口,因为您不能在两个Tk()窗口之间传递信息。改为使用TopLevel()窗口,信息可以在Tk()TopLevel()窗口之间自由流动。