VisualWorks Smalltalk-在运行时设置滑块值

VisualWorks Smalltalk-在运行时设置滑块值,smalltalk,visualworks,Smalltalk,Visualworks,我有一个滑块,想在一些函数中更改它的值。我试过这样的方法: (builder componentAt: #SliderR) widget model setValue: 124. 但它不起作用。(值已更改,但标记保持在相同位置)。尝试值:而不是设置值: 进入这个价值观持有者的咒语似乎很长很脆弱。请确保将这些代码包装在一个清晰的消息选择器下。或者考虑在应用程序的实例变量中共享此状态…通常,您会在UIPainter中将滑块添加到画布中,然后在GUI Painter工具窗口中为其输入方面名称。该窗口

我有一个滑块,想在一些函数中更改它的值。我试过这样的方法:

(builder componentAt: #SliderR) widget model setValue: 124.

但它不起作用。(值已更改,但标记保持在相同位置)。

尝试值:而不是设置值:


进入这个价值观持有者的咒语似乎很长很脆弱。请确保将这些代码包装在一个清晰的消息选择器下。或者考虑在应用程序的实例变量中共享此状态…

通常,您会在UIPainter中将滑块添加到画布中,然后在GUI Painter工具窗口中为其输入方面名称。该窗口工具栏中的第二个按钮称为“定义”。单击此处创建一个方法,该方法返回带有滑块值的ValueHolder。然后可以使用#value:在运行时更改ValueHolder的值,它将更新滑块的值并重新绘制它

对于某些背景:值持有者持有一个值,其他对象可以注册为该值的从属对象,以便在值更改时收到通知。这就是UI所做的,因此您可以更新ValueHolder,UI将自动更新自身