如何使用Python特性创建两个窗口?像
这样的东西if __name__ == '__main__':
main_gui = MainGUI()
user_input = UserInput()
main_gui.configure_traits()
user_input.configure_traits()
这里的问题是在main_gui关闭之前不会调用user_input.configure_traits,但由于我希望在两个窗口之间进行交互,这显然不会。有没有办法模仿MainGUI和UserInput中的'close'函数而不实际关闭窗口,以便代码的主体可以继续?谢谢!
答案 0 :(得分:0)
你在这里想做的不是traithonic。
您应该做的是将用户输入窗口设置为主窗口的子窗口,并使用traits的事件监听系统来跟踪用户的交互。一个非常简单的例子:
class MainGUI(HasTraits):
GUIWidgetsForMainGUI = Any
user_window = Instance(UserInput)
button = Button('Get User Input')
traits_view=View(Item('GUIWidgetsForMainGUI'),
Item('button'))
def _button_fired(self):
self.user_window.edit_traits()
@on_trait_change('button')
def or_alternately_you_can_use_listeners(self):
self.user_window.edit_traits()
MainGUI().configure_traits()