我正在使用Gtk制作带有树视图的GUI。
我希望连接CellRendererSpin
的更新信号,以便在每次修改旋钮时进行一些操作(更新图纸)(在使用'enter'验证之前)。
我尝试使用editingStarted
获取小部件旋钮,并连接旋钮的信号onValueSpinned
以进行更新。
on renderspin editingStarted $ \wid iter -> do
let widcast = castToSpinButton wid
onValueSpinned widcast $ do
update_the_drawing
....
当我点击旋钮增加或减少时,更新已完成,但事情正在逃跑 ...更新按顺序非常快速地进行并且不会停止。
我试图在调整旋钮的调整中将onValueSpinned widcast
替换为onValueChanged adj
on renderspin editingStarted $ \wid iter -> do
let widcast = castToSpinButton wid
adj <- spinButtonGetAdjustment widcast
onValueChanged adj $ do
update_the_drawing
....
我尝试将onValueSpinned
替换为onValueSpinned
而将onValueChanged
替换为afterValueChanged
,但它仍在逃避。
我有几个问题:
on renderspin editingStarted
是否可以在树视图中访问自旋按钮小部件?有替代方法吗?