目前本人在尝试与公司内搭建一套数据传递用系统,过程中遇到一个问题,即在主函数Main.py中通过按钮创建了子窗口,子窗口类来自SubWindow.py,一个自己写的其他文件。这里想实现一个功能即当创建的子窗口关闭或者执行某些动作时,于主窗口执行主窗口的某个函数。目前遇到的问题是子窗口文件SubWindow无法通过import引用Main.py,会报circular import的错误。如何避免报错或者顺利引用实现该功能还请诸位大佬指点。万分感谢。
以下是一些示意代码,就放一些关键的东西,整体就不放出来了
想要尝试实现自动执行的函数其实是一个让Treeview重新读取数据从而达到刷新展示效果的函数,这里就不描述了
#一个其他的自己写的库,里面是生成另一个窗口
import SubWindow
#主函数,来自Main.py
class Main(TK):
#有个按钮,其功能是点击后展开新的窗口
def set_ui(self):
self.Buton = Button(self, command=lambda:self.button_act )
self.Buton.place(x=0,y=0)
def button_act(self):
#通过SubWindow里面的create_subwindow类创建窗口,这一部分代码就不展开了
sub_window = SubWindow.create_subwindow()
#这里是个想在子窗口关闭是执行的代码,但不知道如何实现检测子窗口关闭或在SubWindow里面引用这个函数的操作
def track_action(self):
print("1")