Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 18, 2010 12:26:25

rokki
От:
Зарегистрирован: 2009-09-22
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

RadioButton

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

p.s. Если я правильно понял код :)
тогда получится чо я обращаюсь к переменной до ее определения. вот и получается замкнутый круг



Офлайн

#2 Янв. 18, 2010 14:26:33

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

RadioButton

так почему бы её не сделать переменной класса, а не функции?



Офлайн

#3 Янв. 18, 2010 15:17:01

Griffon
От: Ukrain, Zaporozhie
Зарегистрирован: 2009-03-04
Сообщения: 324
Репутация: +  11  -
Профиль   Отправить e-mail  

RadioButton

Я вообще не программист, но мне кажется что структура у тебя уж чересчур.
Я бы сделал где то так:

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, читает БД, уберает фрейм варинатов, рисует фрейм вопросов.
# Коллбек фрейма вопросов обрабатывает результат, уберает старый фрейм, рисует новый.



Офлайн

#4 Янв. 18, 2010 15:47:31

rokki
От:
Зарегистрирован: 2009-09-22
Сообщения: 79
Репутация: +  0  -
Профиль   Отправить e-mail  

RadioButton

Griffon
Я вообще не программист, но мне кажется что структура у тебя уж чересчур.
Я бы сделал где то так:
.....
Хм,не программист говоришь… Спасибо за структуру, это очень для меня важно, никак не мог именно со структурой разобраться,поэтому и вышла вложенная функция



Отредактировано (Янв. 19, 2010 02:24:34)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version