我在Autodesk Maya中开发工具.我构建的许多工具都有简单的窗口GUI,供动画师和建模人员使用.这些GUI通常包含您通常希望在任何基本窗口中看到的内容; 标签,列表,菜单,按钮,文本字段等.但是,您可以使用可用工具构建的UI的复杂性存在限制,特别是在可用小部件的类型中.
我有兴趣使用一些更高级的wxPython小部件,如ListView(网格),树等.这将涉及使用完整的wxFrame(窗口)来显示整个UI,这实际上意味着窗口将不再被绑在玛雅身上.不是交易破坏者,但这意味着当Maya被最小化时,窗口将不会跟随.
我之前尝试使用tkinter作为测试,但发现它需要MainLoop才能在自己的线程中运行.这是合乎逻辑的,但在我的情况下,它与Maya自己的线程冲突,基本上使Maya挂起,直到窗口关闭.这是因为Maya在主Maya GUI共享的单个线程中运行所有脚本,无论是MEL还是Python.这是为了防止一个脚本在另一个脚本尝试对同一个对象进行操作时删除一个对象.
wxPython具有相同的"mainloop"方法.我想知道它是否有任何解决方法,以便它可以在Maya中工作?