设计一个图形界面单选题考试程序并写出代码。
时间: 2024-09-20 19:05:31 浏览: 36
设计一个简单的图形界面单选题考试程序通常需要结合用户界面库,比如Python的Tkinter或Java的Swing。这里我会给出一个简化的Python Tkinter示例,它创建了一个包含几个选项的单选框。用户可以做出选择,并查看他们的得分。
```python
import tkinter as tk
# 创建主窗口
def create_window():
window = tk.Tk()
window.title("单选题考试")
# 定义题目和选项
questions = {
"题1": ["A. 1", "B. 2", "C. 3"],
"题2": ["A. 星期一", "B. 星期二", "C. 星期三"]
}
def check_answer(option):
if option.get() == questions[current_question][0]:
score += 1
result.config(text=f"正确! {current_question+1}/{len(questions)}")
else:
result.config(text="错误!")
# 初始化分数
score = 0
current_question = 0
for i, question in enumerate(questions):
question_frame = tk.LabelFrame(window, text=question)
options = tk.Listbox(question_frame, selectmode=tk.SINGLE)
for opt in questions[question]:
options.insert(tk.END, opt)
option_var = tk.StringVar()
option Radiobutton(question_frame, textvariable=option_var, value=options.get(0), command=lambda x=opt: check_answer(option_var)).pack(anchor="w")
next_button = tk.Button(question_frame, text="下一题", command=lambda: next_question())
next_button.pack(side=tk.BOTTOM)
question_frame.pack()
# 结果显示
result = tk.Label(window, text="结果:", font=("Arial", 14))
result.pack()
# 开始答题
start_button = tk.Button(window, text="开始", command=start_exam)
start_button.pack()
return window
def start_exam():
global current_question
current_question += 1
if current_question < len(questions):
start_button.config(state=tk.DISABLED)
check_answer_button.config(state=tk.NORMAL)
else:
result.config(text=f"测试结束,总分: {score}/{len(questions)}")
# 设置初始按钮状态
start_button = tk.Button(create_window(), text="开始", state=tk.DISABLED)
check_answer_button = tk.Button(create_window(), text="检查答案", state=tk.DISABLED)
create_window()..mainloop()
```
这个程序包含了开始、检查答案以及显示结果的按钮,每个题目都是通过一个列表框展示选项,用户选择一个选项后点击“检查答案”按钮。`start_exam`函数控制单选题的流程,当所有题目答完时会显示最终得分。
阅读全文