使用tkinter编写运算界面,点击 水气促进按钮在文本框中产生两个100以内的随机整数,标签1提示输入上面两数之和,但文本框中输入两数之和,点击提交按钮,标签2中显示回答正确否则回答错误
时间: 2024-02-12 21:08:49 浏览: 120
开始使用Tkinter编写Python图形界面
好的,以下是一个简单的实现:
```python
import tkinter as tk
import random
class CalculationGame:
def __init__(self, master):
self.master = master
master.title("运算游戏")
self.num1 = tk.StringVar()
self.num2 = tk.StringVar()
self.answer = tk.StringVar()
self.label1 = tk.Label(master, text="请输入以下两数之和")
self.label1.pack()
self.frame1 = tk.Frame(master)
self.frame1.pack()
self.label2 = tk.Label(self.frame1, textvariable=self.num1)
self.label2.pack(side="left")
self.label3 = tk.Label(self.frame1, text="+")
self.label3.pack(side="left")
self.label4 = tk.Label(self.frame1, textvariable=self.num2)
self.label4.pack(side="left")
self.label5 = tk.Label(master, text="=")
self.label5.pack()
self.entry1 = tk.Entry(master, textvariable=self.answer)
self.entry1.pack()
self.button1 = tk.Button(master, text="提交", command=self.check_answer)
self.button1.pack()
self.button2 = tk.Button(master, text="水气促进", command=self.generate_numbers)
self.button2.pack()
self.label6 = tk.Label(master, text="")
self.label6.pack()
def generate_numbers(self):
self.num1.set(str(random.randint(1, 100)))
self.num2.set(str(random.randint(1, 100)))
self.answer.set("")
def check_answer(self):
try:
if int(self.answer.get()) == int(self.num1.get()) + int(self.num2.get()):
self.label6.config(text="回答正确")
else:
self.label6.config(text="回答错误")
except ValueError:
self.label6.config(text="请输入一个整数")
root = tk.Tk()
game = CalculationGame(root)
root.mainloop()
```
运行该程序后,会出现一个窗口,里面包含了两个按钮和一个文本框,以及一些标签。点击“水气促进”按钮,会在标签2中显示两个随机数,点击“提交”按钮,会检查文本框中的答案是否正确,并在标签2中给出相应的提示。
阅读全文