1- import json
21import os
32import random
43import sys
@@ -41,7 +40,6 @@ def __init__(self, message):
4140 self .layout .addWidget (self .button )
4241
4342
44- # Subclass QMainWindow to customize your application's main window
4543class MainWindow (QMainWindow ):
4644 def __init__ (self ):
4745 super ().__init__ ()
@@ -100,26 +98,27 @@ def draw_register_situation_screen(self):
10098 def draw_situation_quiz_screen (self ):
10199 self .situation_quiz_widget = SituationQuiz ()
102100 self .situation_quiz_widget .cancel_button .clicked .connect (self .start_screen )
103- self .situation_quiz_widget .answer_button .clicked .connect (
104- lambda : self .check_situation_answer (self .situation_quiz_widget )
105- )
106- buttons = [
107- self .situation_quiz_widget .cancel_button ,
108- self .situation_quiz_widget .answer_button ,
109- ]
101+ buttons = [self .situation_quiz_widget .cancel_button ]
102+ if hasattr (self .situation_quiz_widget , "answer_button" ):
103+ self .situation_quiz_widget .answer_button .clicked .connect (
104+ lambda : self .check_situation_answer (self .situation_quiz_widget )
105+ )
106+ buttons .append (self .situation_quiz_widget .answer_button )
110107 self ._draw_screen (self .situation_quiz_widget , buttons )
111108
112109 def draw_choose_quiz_screen (self ):
113110 self .choose_drug_widget = ChooseDrugQuiz ()
114111 self .choose_drug_widget .cancel_button .clicked .connect (self .start_screen )
115- self .choose_drug_widget .start_button .clicked .connect (
116- lambda : self .draw_quiz_screen (self .choose_drug_widget .combo_options .currentText (), quiz_type = "choose" )
117- )
118- buttons = [
119- self .choose_drug_widget .cancel_button ,
120- self .choose_drug_widget .start_button ,
121- ]
122-
112+ buttons = [self .choose_drug_widget .cancel_button ]
113+ if hasattr (self .choose_drug_widget , "start_button" ):
114+ self .choose_drug_widget .start_button .clicked .connect (
115+ lambda : self .draw_quiz_screen (
116+ self .choose_drug_widget .combo_options .currentText (),
117+ quiz_type = "choose"
118+ )
119+ )
120+ buttons .append (self .choose_drug_widget .answer_button )
121+
123122 self ._draw_screen (self .choose_drug_widget , buttons )
124123
125124 def draw_quiz_screen (self , drug , quiz_type ):
@@ -135,6 +134,10 @@ def save_content(self, widget):
135134
136135 def random_quiz (self ):
137136 current_content = read_current_drugs ()
137+ if not current_content :
138+ self .answer_window = AnswerWindow ("No substances registered. Please register some substances first." )
139+ self .answer_window .show ()
140+ return
138141 random_item = random .choice (list (current_content .keys ()))
139142 self .draw_quiz_screen (random_item , "random" )
140143
0 commit comments