狗宁 发表于 2020-9-25 15:58:51

Tkinter窗口循环的问题

这是一个自动阅卷的小程序,部分代码如下

      def answer_qusetion():
            num = question_num.get()
            answer_root.destroy()
            if num <= 0:
                messagebox.showerror("Error","Not null")
            else:
                user_score = 0
                aq_root = Toplevel()
                aq_root.title("正在答题...")
                aq_root.iconbitmap('./img.ico')
                aq_root.geometry("600x400+450+300")

                # aq_root.resizable(FALSE, FALSE)

                # 获取excle中最大行,通过random(1,max_row)随机选择试题
                workbook = openpyxl.load_workbook('./题库.xlsx')
                worksheet = workbook.active
                max = worksheet.max_row
                x = random.randint(1, max)
                question_text = worksheet['A%d' % x].value
                option_A = worksheet['B%d' % x].value
                option_B = worksheet['C%d' % x].value
                option_C = worksheet['D%d' % x].value
                option_D = worksheet['E%d' % x].value
                right_answer = worksheet['F%d' % x].value
                Label(aq_root, text="%s"%question_text, font=('heiti', 12),wraplength=500,anchor=W, justify=LEFT).place(x=10, y=50)
                answer_var = StringVar()
                a1 = Radiobutton(aq_root, text='A:   %s' % option_A, variable=answer_var, value='A').place(x=20, y=150)
                a2 = Radiobutton(aq_root, text='B:   %s' % option_B, variable=answer_var, value='B').place(x=20, y=200)
                a3 = Radiobutton(aq_root, text='C:   %s' % option_C, variable=answer_var, value='C').place(x=20, y=250)
                a4 = Radiobutton(aq_root, text='D:   %s' % option_D, variable=answer_var, value='D').place(x=20, y=300)

                def next_question():
                  aq_root.destroy()
                  answer_qusetion()




                button_5 = Button(aq_root, text='下一题>>', bg="gray", width=20,
                                  command=next_question).place(x=400,y=350)

num = question_num.get()接收了用户输入的题数,在这个函数里应该怎么写这个循环呢,当题数用尽就销毁窗口,显示成绩。这是代码最后一点了,也是最难的,实在想不出来了。。。

lhgzbxhz 发表于 2020-9-25 19:55:14

应该用多线程
页: [1]
查看完整版本: Tkinter窗口循环的问题