Найти - Пользователи
Полная версия: RadioButton
Начало » GUI » RadioButton
1 2
rokki
Griffon
Вполне логично. Вызывается “окно вопросов”. В самом начале обьявляется var установленный в ноль. И далее без остановки “окно вопросов” выполняется до конца. А значение изменится только тогда когда пользователь выберет хотя бы один вариант. То есть если поставить print var.get() перед var = IntVar(), то там по нажатию на кнопку что-то да должно быть, если конечно хоть что-то выбрано.

p.s. Если я правильно понял код :)
тогда получится чо я обращаюсь к переменной до ее определения. вот и получается замкнутый круг
Griffon
так почему бы её не сделать переменной класса, а не функции?
Griffon
Я вообще не программист, но мне кажется что структура у тебя уж чересчур.
Я бы сделал где то так:
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, читает БД, уберает фрейм варинатов, рисует фрейм вопросов.
# Коллбек фрейма вопросов обрабатывает результат, уберает старый фрейм, рисует новый.
rokki
Griffon
Я вообще не программист, но мне кажется что структура у тебя уж чересчур.
Я бы сделал где то так:
.....
Хм,не программист говоришь… Спасибо за структуру, это очень для меня важно, никак не мог именно со структурой разобраться,поэтому и вышла вложенная функция
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB