| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Общие вопросы > (Tkinter)КАК: Прогулка по своим формам ? |
| Автор: grock 25.7.2005, 18:54 |
| У меня есть куча форм, надо их собрать в одно приложение, переходить c одной в другую, передавая при этом какие-то данные, чтобы потом работать с ними, должна быть возможность возвращаться на предыдущий этап, подскажите пожалуйста, как это лучше осуществить |
| Автор: grock 26.7.2005, 11:59 | ||||
| Немного конкретизирую вопрос (на самом деле выложу все вопросы что у меня накопились): Я не хочу использовать Toplevel(), а просто вызывать друг из друга (т.е. чтобы перейти на другую форму, предварительно закрываем себя и вызываем другой класс с другой формой) При таком коде возможно только с формы, которая в beg.py перейти на форму из cal.py, а если попытаться обратно ругается in Calibration.back [global name 'BegParam' is not defined] и еще вопрос когда выполняется BegParam.cal вылетает ошибка, хотя правда все работает нормально, т.е. создается форма из cal, котоая вот так вызывается self.z = Calibration(), и еще вопрос почему она появляется ведь в ее класс не вызывется метод mainloop ? Exception in Tkinter callback Traceback (most recent call last): File "C:\Python24\lib\lib-tk\Tkinter.py", line 1345, in __call__ return self.func(*args) File "D:\zzWork\My_PY\fale\beg.py", line 7, in cal self.z = Calibration() NameError: global name 'Calibration' is not defined invalid command name ".11777128" while executing "$w cget -state" (procedure "tk::ButtonDown" line 12) invoked from within "tk::ButtonDown .11777128" (command bound to event) и еще вопрос, когда делаем так: from Tkinter import * from beg import BegParam Ругается что не может импортировать BegParam, почему ? и кстати чем размличаются импорты: import beg от from beg import * ====модуль beg.py====
====модуль cal.py===
|
| Автор: setq 26.7.2005, 13:59 | ||||||
| я такого никогда не делал. хотел написать GUI на Tk, но у меня возникли трудности и я отложил это до лучших времён (надеюсь не до пенсии). поэтому дельного ничего не посоветую. 1.
2. информацию, которую надо передавать между окнами я бы наверно хранил в глобальных переменных... 3. теоретически можно написать функцию, которая разрушает переданное ей окно и открывает другое. оба окна можно передавать в параметрах. в форме связываем эту функцию с кнопкой BACK. вот. 4. наверно можно подключать модули рекурсивно. но я бы ни за что не стал это делать. впрочем я и ситуации такой не могу выдумать когда это могло бы быть полезным. я в твоём случае завёл бы 2 модуля с формами и один с главной программой. 5. удачи. спрашивай что непонятно. 6. здесь: http://forum.vingrad.ru/index.php?showtopic=54105 полно литературы по python, возможно что-то и по твоей проблеме. |