【问题标题】:Python Tkinter projectPython Tkinter 项目
【发布时间】:2017-08-17 16:05:09
【问题描述】:

我正在为 python 做一个决赛。我的目标是编写一个代码,使用 Tkinter 要求用户使用输入框输入数学问题的答案,然后按提交。我希望能够让 python 根据答案是对还是错来做一些事情,但我不确定如何用 Tkinter 做到这一点。我如何让它“检查”答案?例如,

ent = Entry(pyfinal)
btn = Button(pyfinal, text="Submit", bg="#000000")
lbl = Label(pyfinal, text="What is the answer to 5 x 5?")

如果我使用的是常规 python,我会这样做,

ent = int(input('What is 5 x 5? '))
if ent == int ('25'):
    print ("correct")
else:
    print ("wrong, try again.")

我将如何使用 Tkinter 做到这一点,同时将其全部保存在 Tkinter 窗口中? 谢谢

【问题讨论】:

  • 所以......你基本上是让我们为你写你的期末考试?如果您只需要一些指示:将command 回调添加到您的按钮,请参见例如here.
  • 您可以将命令与按钮相关联。将检查放入命令中。
  • 不,我不是要你写它。我正在寻求一些命令的帮助。为什么你认为我没有提供完整的代码?另外,我知道命令的事情,但我希望它在窗口中打印,而不是在 python 模块中
  • 然后尝试发布您尝试过的工作(不太工作/可运行)示例,并清楚说明问题所在。
  • 我们正在寻找的是Minimal, Complete, and Verifiable Example。在这种情况下,我们希望看到一个简单(但完整)的程序,它显示一个带有标签、文本框和按钮的tkinter 窗口。我们还想看看您在按下按钮时如何尝试从文本框中获取值。您可能必须将此代码放在单独的文件中,以免干扰当前进度。一旦我们有了这个最少的代码,我们就可以向您展示下一步该做什么。

标签: python python-3.x tkinter computer-science


【解决方案1】:

例如尝试使用 if 语句:

Mp = Answer to math problem
Answer = What user wrote

If Mp == Answer:
     Lbl = Label("You are right")
     Lbl2.pack()
     Lbl.after(3000, lambda: label.destroy())
Else:
     Lbl2 = Label("You are wrong')
     Lbl2.pack()
     Lbl2.after(3000, lambda: label2.destroy())

如果你想在一定时间内删除这个标签,只写.after语句

【讨论】:

    猜你喜欢
    • 2021-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-27
    • 2020-04-11
    相关资源
    最近更新 更多