python中tkinter出选择题_【python】tkinter练习笔记

这篇博客通过四个示例介绍了如何使用Python的tkinter库创建交互式UI,包括Label+Button实现点击切换文本,Entry-Button-Text实现输入同步显示,Label-Button-Listbox展示列表选择,以及Radiobutton+Label实现单选按钮功能。通过这些例子,读者可以学习到tkinter的基础组件用法和事件处理。
摘要由CSDN通过智能技术生成

PS,老师声音很好听,好吧……也比较帅气(*^▽^*)tk1 Label+Button

#tk1.py

#Label+Button

import tkinter as tk

window=tk.Tk()

window.title('tk1')

window.geometry('200x400')

var=tk.StringVar()

#Label的内容是可变的,但只能Lable.set()方法操作,不能手工输入

l=tk.Label(window,textvariable=var,bg='green',font=('Arial',12),width=15,height=2)

l.pack()

on_hit=False

#hit_me没有向外返回值,而是直接在函数内操作函数外的值

#一个是global on_hit,另一个是用var=tk.StringVar(),var.set()

def hit_me():

global on_hit

if on_hit==False:

on_hit=True

var.set('you hit me')

else:

on_hit=False

var.set('no hit')

b=tk.Button(window,text='hitme',width=10,hei

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这里是一个使用PythonTkinter实现你要求的GUI程序的示例代码: ``` python import random import tkinter as tk class MathQuiz: def __init__(self, master): self.master = master self.master.geometry("400x400") self.master.title("加法练习") # 初始化题目和答案 self.numbers = [] self.answers = [] self.create_questions() # 创建题目和答案框架 self.question_frame = tk.Frame(self.master) self.question_frame.pack() self.answer_frame = tk.Frame(self.master) self.answer_frame.pack() # 创建题目和答案控件 self.create_question_widgets() self.create_answer_widgets() # 创建更换题目的按钮 self.change_button = tk.Button(self.master, text="更换题目", command=self.change_questions) self.change_button.pack() # 创建提交答案的按钮 self.submit_button = tk.Button(self.master, text="提交", command=self.check_answers) self.submit_button.pack() def create_questions(self): for i in range(20): a = random.randint(1, 10) b = random.randint(1, 10) self.numbers.append((a, b)) self.answers.append(a + b) def create_question_widgets(self): for i in range(20): label = tk.Label(self.question_frame, text=f"{self.numbers[i][0]} + {self.numbers[i][1]} = ") label.grid(row=i // 5, column=i % 5) def create_answer_widgets(self): self.answer_entries = [] for i in range(20): entry = tk.Entry(self.answer_frame) entry.grid(row=i // 5, column=i % 5) self.answer_entries.append(entry) def change_questions(self): # 重新生成题目和答案 self.numbers = [] self.answers = [] self.create_questions() # 清空之前的题目和答案控件 for widget in self.question_frame.winfo_children(): widget.destroy() for widget in self.answer_frame.winfo_children(): widget.destroy() # 重新创建题目和答案控件 self.create_question_widgets() self.create_answer_widgets() def check_answers(self): result = [] for i in range(20): answer = self.answer_entries[i].get() if answer == str(self.answers[i]): result.append("✓") else: result.append("✗") self.create_result_widgets(result) def create_result_widgets(self, result): for widget in self.answer_frame.winfo_children(): widget.destroy() for i in range(20): label = tk.Label(self.answer_frame, text=result[i]) label.grid(row=i // 5, column=i % 5) root = tk.Tk() app = MathQuiz(root) root.mainloop() ``` 这个程序实现了你要求的基本功能,使用了PythonTkinter库来实现GUI界面。它首先生成了20道加法练习题,然后在界面上显示来。用户可以在界面上输入答案,然后点击“提交”按钮进行判题。程序会将用户输入的答案与正确答案进行比较,然后在界面上显示判题结果。同时,用户还可以点击“更换题目”按钮来更换一批新的练习题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值