我有一个关于更改traitsui GUI属性的问题。对于gui,我想要更改GUI的属性,而不是因为Gui中的更改。
from traits.api import HasTraits, Bool, Int
from traitsui.api import View, Handler
class TC_Handler(Handler):
None
class TestClass(HasTraits):
b1 = Int
b2 = Bool
b3 = Bool
def _b1_default(self):
return 10
view1 = View('b1', 'b2', 'b3',
title="Alter Title",
handler=TC_Handler(),
buttons = ['OK', 'Cancel'])
tc = TestClass()
tc.configure_traits(view=view1)
tc.b1 = 454您可以看到,我试图更改b1的值。
tc.b1 = 454请在关闭窗口后更改该值。我需要在gui运行时进行更改。
请帮帮忙好吗?
谢谢
塞巴斯蒂安
发布于 2015-05-29 07:05:49
您可以使用GUI.invoke_later来实现您所描述的内容。
model_object = get_new_model_object()
from pyface.api import GUI
_gui = GUI()
_gui.invoke_later( lambda : callable(model_object, *args) )
model_object.configure_traits()但要小心,这不是GUI构建的目的。您没有给出任何关于为什么要这样做的提示。知道你为什么要这样做会很有帮助,因为很可能有一种更好的方法来做你想做的事情。
https://stackoverflow.com/questions/30127123
复制相似问题