gpt4 book ai didi

python - 从 `Tkinter.Entry` 获取值并将其内容与另一个值进行比较

转载 作者:太空宇宙 更新时间:2023-11-03 15:43:46 26 4
gpt4 key购买 nike

我有 __init__ 函数构造一个 Tkinter 窗口。窗口内有一个 5 * 10 乘法和一个 Entry 框。如果用户在框中填写正确的答案并随后按下按钮,则会执行 result 函数,该函数的标签应显示“正确”消息。否则标签会显示“错误”消息。

问题是:即使答案是正确的,标签也会显示“错误”的消息。如果我在 result 函数中打印 self.content,它会在终端中显示正确的值。但问题出在 result 函数的 if 语句内部。

from Tkinter import *

class prop:

def __init__(self):

self.root = Tk()
self.root.geometry("800x600")

self.x = 5
self.y = 10

self.title = Label(self.root, text = "TEST")
self.title.grid(row=0, column=0, columnspan=6)
self.title.config(font=("Courier", 30))

self.labelx = Label(self.root,text=self.x)
self.labelx.grid(row=2, column=2)
self.labelx.config(font=("Courier", 30))

self.epi = Label(self.root,text="X")
self.epi.grid(row=2, column=3)
self.epi.config(font=("Courier", 30))

self.labely = Label(self.root,text=self.y)
self.labely.grid(row=2, column=4)
self.labely.config(font=("Courier", 30))

self.total = Entry(self.root, font = "Courier 25 bold",justify="center",width=3)
self.total.grid(row=2, column=5, padx=20)

button = Button(self.root, text="OK", command = self.result)
button.grid(row=3, column=2)

self.content = Entry.get(self.total)

self.root.mainloop()

def result(self):
if self.content == (self.x * self.y):
self.labres = Label(self.root, text="Right")
self.labres.grid(row=2, column=6)
self.labres.config(font=("Courier", 30))
else:
self.labres = Label(self.root, text="Wrong")
self.labres.grid(row=2, column=6)
self.labres.config(font=("Courier", 30))


start = prop()

最佳答案

您在输入值之前正在读取 Entry 的内容。您应该在单击按钮后阅读内容。

您还将 self.content == (self.x * self.y) 中的字符串与 int 进行比较。您应该使用int(self.content) == (self.x * self.y) .

更新后的结果函数为:

def result(self):
self.content = Entry.get(self.total)
if int(self.content) == (self.x * self.y):
self.labres = Label(self.root, text="Right")
self.labres.grid(row=2, column=6)
self.labres.config(font=("Courier", 30))
else:
self.labres = Label(self.root, text="Wrong")
self.labres.grid(row=2, column=6)
self.labres.config(font=("Courier", 30))

关于python - 从 `Tkinter.Entry` 获取值并将其内容与另一个值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41936694/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com