我正在使用 Gtk 制作带有树视图的 GUI。
我想连接 a 的更新信号以CellRendererSpin
在每次修改旋转按钮时(在使用“输入”验证之前)进行一些操作(更新绘图)。
我试图获取小部件微调按钮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
访问树视图中的微调按钮小部件的正确方法是什么?有替代方法吗?- 是否有特定的信号/功能可以进行一次更新?
- 我获得预期结果的方法是全局正确的还是我完全错了?
- 您有任何语言(C、Python、Haskell、...)的示例吗?