def __init__(self): """ In this init we are going to display the main serverinfo window """ gladefile="glade/quizz.glade" windowname="main_window" self.gui=gtk.glade.XML (gladefile, windowname) self.window = self.gui.get_widget("main_window") self.txt_quizz = self.gui.get_widget("txt_quizz") self.txt_question = self.gui.get_widget("txt_question") self.txt_answer = self.gui.get_widget("txt_answer") self.txt_questions_count = self.gui.get_widget("txt_questions_count") self.txt_correct_count = self.gui.get_widget("txt_correct_count") self.txt_percent = self.gui.get_widget("txt_percent") self.mnu_quizzes = self.gui.get_widget("mnu_quizzes") self.txt_result = self.gui.get_widget("txt_result") self.da_prioritylist = self.gui.get_widget("da_prioritylist") # self.da_prioritylist.set_events(gtk.gdk.POINTER_MOTION_MASK | gtk.gdk.POINTER_MOTION_HINT_MASK) self.da_prioritylist.connect("expose_event", self.area_expose_cb) self.pangolayout = self.da_prioritylist.create_pango_layout("") self.da_exposed = False # Used to shrink window when options are unexpanded self._initial_size = None # we only have two callbacks to register, but # you could register any number, or use a # special class that automatically # registers all callbacks. If you wanted to pass # an argument, you would use a tuple like this: # dic = { "on button1_clicked" : (self.button1_clicked, arg1,arg2) , ... dic = { "on_check" : self.on_check, "on_skip" : self.on_skip, "on_main_window_delete_event" : gtk.main_quit, "on_txt_answer_editing_done" : self.on_check, "on_options_expander_activate" : self._on_options_expander_activate } self.gui.signal_autoconnect (dic) reader = QuizzReader() reader.read("data/quizz_v2.xml") self.quizzes_list = reader.quizzes_list menu = gtk.Menu() self.mnu_quizzes.set_submenu(menu) #menu = self.mnu_quizzes.get_submenu() for quizz in self.quizzes_list: mit = gtk.MenuItem(quizz.name) mit.connect("activate", self.select_quizz, quizz) menu.append(mit) menu.show_all() self.select_quizz(None, self.quizzes_list[0]) gtk.main()
from QuizzReader import QuizzReader from PriorityList.QuadraticList import QuadraticList reader = QuizzReader() reader.read("data/quizz1.xml") list = QuadraticList() for q in reader.q_list: list.insert(5, q) print len(list) print list.get_priorities_statistics() while True: pos = list.get_random_index() q = list.get_value(pos) ans = raw_input("%s > " % q.question) if ans == ".": break elif ans.lower() == q.answer.lower(): print "Correct" list.raise_index(pos) else: print "Wrong, answer is %s" % q.answer list.lower_index(pos) print list.get_priorities_statistics()