Gtk.Scale值改变信号与拖尾?

时间:2012-11-02 10:24:07

标签: gtk

问题简要说明: Gtk.Scale窗口小部件是否有drag-end信号,而不是value-changed

我正在使用gtk缩放窗口小部件(滑块),根据the docs我应该使用value-changed信号来检测用户何时更改滑块。

现在用户抓住滑块并将其拖动到所需的值。当他们完成选择他们想要的值(即完成拖动)时,我想做一些事情。

然而,当用户仍处于将滑块拖动到其所需值的过程中时,每次包括时,发出value-changed信号 ,所以我在起始值和结束值之间得到每个值的其中一个信号。

这会给我的程序和所有程序带来明显的延迟。

那么 - 有没有一种方法可以监听当用户完成更改滑块上的值时触发的信号,而不是每次值发生变化时触发的信号?< / p>

目前,我在执行代码之前等待一小段时间来限制呼叫,只响应我在该时间段内收到的最后一个value-changed信号。这样做没问题,但我只是想知道是否有更合适的信号我应该听。

4 个答案:

答案 0 :(得分:3)

检查gtk_range_set_update_policy()功能。 您希望将策略设置为GTK_UPDATE_DISCONTINUOUS

答案 1 :(得分:2)

您可以改用change-value信号。第二个参数是Gtk.ScrollType。将其与Gtk.ScrollType.JUMP进行比较应该会产生所需的结果。

答案 2 :(得分:0)

没有公共API可以做到这一点。我认为你的方法很好。

答案 3 :(得分:0)

在GTK + 3(至少)中,header #current a { color: #228B22; font-weight: bold; } 继承自Scale,会发出Widget信号。