Форум сайта python.su
Добрый день! Я недавно начал осваивать python и wxPython.
Создаю простую программу для тестирования знаний. Имеются 3 класса wx.Frame. На первом фрейме пользователь выбирает базу данных (shelve объект), вводит свои данные в поля text_ctrl_1 и text_ctrl_2. После этого он нажимает кнопку запуска теста и открывается второй фрейм, а первый закрывается. Во втором фрейме показываются вопрос из базы, варианты ответа на него и кнопка “дальше”. После прохождения всех вопросов открывается третье окно с результатами тестирования.
Возникла проблема как передать содержимое базы данных из первого фрейма во второй, данные пользователя и результаты теста в третий фрейм?
Попутно еще возник вопрос, можно ли изменять размер изображения динамически, т.е. если уменьшаем или увеличиваем размер фрейма?
Офлайн
Evgen_irkC Delphi пришли? ;) ничего не надо передавать, храните и обрабатывайте данные в одном объекте-модели, а во фреймах только отображайте и при создании фрейма давайте ему ссылку на модель.
Возникла проблема как передать содержимое базы данных из первого фрейма во второй, данные пользователя и результаты теста в третий фрейм?
Офлайн
PooH, обычно делаю переменные, с которыми оперирую в нескольких фреймах, обработчиках событий и диалогах, свойствами класса Frame главного фрейма. Знаю, что это неправильно, т.к. логика приложения не должна быть привязана к объектам интерфейса. Подскажите, пожалуйста, как делать более правильно. Спасибо.
Отредактировано (Фев. 23, 2009 16:00:24)
Офлайн
PooH, спасибо за подсказку! Решил использовать один фрейм и в нем отображать разные панели с компоновкой.
Офлайн