Есть программа, имеющая следующую структуру:
Папка программы (C:\\MyLittleProgramm - дело происходит под виндой):
my_little_programm.py - файл, содержащий меню программы
Подпапки:
- common - модуль с общими функциями и классами, используемыми в большинстве модулей программы (common_func.py, __init__.py)
- face - модуль, содержащий классы для формирования GUI программы (используется во всех остальных модулях module1-module4)
- module1 (modules1_func.py, __init__.py)
- module2
- module3
- module4
module1-module4 - модули, реализующие различный функционал программы. Файлы modules1_func.py имеют приблизительно следщующую структуру:
from Tkinter import *
def func1() - определяем одну функцию
def func2() - определяем вторую функцию
def func3() - определяем 3-ю функцию
class MyClass(Frame):
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack({'padx':5, 'pady':5})
внутри этого класса имеются такие элементы, как флажки и переключатели
def open_myclass():
app=MyClass(master=Tk())
app.master.title(u'Модуль N: афигенно-сложные расчеты того-то')
app.mainloop()
осуществляется вызов функций вида “open_myclass()” представленной выше.
структура главного файла (my_little_programm.py):
import os, sys
sys.path.append(os.path.dirname(__file__))
from module1.modules1_func import open_myclass11
from module2.modules1_func import open_myclass12
root = Tk()
root.title(u'Моя программулинка')
bar=Menu(root)
menu1 = Menu(bar)
menu1 .add_command(label=u"Отчет 1...", command=open_myclass11)
menu1 .add_command(label=u"Отчет 2...", command=open_myclass12)
...
root.config(menu=bar)
root.mainloop()
При этом если модуль с отчетом запускать самостоятельно - флажки и переключатели работают.
С чем может быть связано такое поведение программы?