📜  如何使用 tkinter 在 python 中进行多项选择测验 - Python (1)

📅  最后修改于: 2023-12-03 15:38:06.326000             🧑  作者: Mango

如何使用 tkinter 在 python 中进行多项选择测验

在 tkinter 中,我们可以使用 Checkbutton 和 Radiobutton 组件来创建多项选择测验。以下是一个示例代码片段,演示如何使用这些组件来创建一个简单的测验:

import tkinter as tk

class QuizApp:
    def __init__(self, questions):
        self.questions = questions
        self.answers = {}
        self.current_question = 0

        self.window = tk.Tk()
        self.window.title("Quiz App")

        self.question_label = tk.Label(self.window, text=self.questions[self.current_question])
        self.question_label.pack()

        self.var = tk.StringVar()
        for answer in ["True", "False"]:
            rb = tk.Radiobutton(self.window, text=answer, variable=self.var, value=answer)
            rb.pack()

        self.submit_button = tk.Button(self.window, text="Submit", command=self.submit_answer)
        self.submit_button.pack()

    def submit_answer(self):
        self.answers[self.current_question] = self.var.get()
        self.current_question += 1

        if self.current_question < len(self.questions):
            self.question_label.config(text=self.questions[self.current_question])
        else:
            self.window.destroy()

    def run(self):
        self.window.mainloop()

questions = ["Is the sky blue?", "Is the grass green?", "Is the sun yellow?"]

app = QuizApp(questions)
app.run()

print(app.answers)

在上面的示例中,我们首先输入三个问题,然后创建了一个 QuizApp 类。在该类的构造函数中,我们初始化了一些变量,创建了一个 tk.Tk 窗口,并创建了一个 Label 组件,用于显示当前问题。接下来,我们创建了一个 Radiobutton 组件,其中每个选项都由一个单独的 Radiobutton 表示。我们还创建了一个 “Submit” 按钮,点击该按钮将用户的答案保存到 answers 字典中。当用户回答完所有问题后,我们使用 window.destroy() 方法关闭窗口并打印所有答案。

综上所述,使用 tkinter 在 python 中进行多项选择测验并不难,只需要使用 Checkbutton 和 Radiobutton 组件,以及一些简单的逻辑即可。