1

我正在使用 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它仍然在逃跑。onValueChangedafterValueChanged

我有几个问题:

  1. on renderspin editingStarted访问树视图中的微调按钮小部件的正确方法是什么?有替代方法吗?
  2. 是否有特定的信号/功能可以进行一次更新?
  3. 我获得预期结果的方法是全局正确的还是我完全错了?
  4. 您有任何语言(C、Python、Haskell、...)的示例吗?
4

0 回答 0