Я вообще не программист, но мне кажется что структура у тебя уж чересчур.
Я бы сделал где то так:
from tkinter import *
class Question_frame(Frame):
# Paints question and variants that be chosen.
# Gets string question and dict with variants.
def __init__(self, master, question, variants, callback_function):
Frame.__init__(self, master)
self.result = IntVar()
# Тут добавляем элементы.
def on_button(...):
#вызываем колбэк функцию с параметром self.result.
class Variant_frame(Frame):
# Фрэйм выбора варината
def __init__(..., callback_function):
# callback_function must recive an integer.
...
class Main_window(Toplevel # или как там его... моя память, или тоже Frame):
def __init__(self, master):
# Рисуем фрэйм выбора варианта, колбек функция будет реализована ниже.
# Она изменяет переменную self.chosen_variant, читает БД, уберает фрейм варинатов, рисует фрейм вопросов.
# Коллбек фрейма вопросов обрабатывает результат, уберает старый фрейм, рисует новый.