问题简要说明: Gtk.Scale
窗口小部件是否有drag-end
信号,而不是value-changed
?
我正在使用gtk缩放窗口小部件(滑块),根据the docs我应该使用value-changed
信号来检测用户何时更改滑块。
现在用户抓住滑块并将其拖动到所需的值。当他们完成选择他们想要的值(即完成拖动)时,我想做一些事情。
然而,当用户仍处于将滑块拖动到其所需值的过程中时,每次值包括时,发出value-changed
信号 ,所以我在起始值和结束值之间得到每个值的其中一个信号。
这会给我的程序和所有程序带来明显的延迟。
那么 - 有没有一种方法可以监听当用户完成更改滑块上的值时触发的信号,而不是每次值发生变化时触发的信号?< / p>
目前,我在执行代码之前等待一小段时间来限制呼叫,只响应我在该时间段内收到的最后一个value-changed
信号。这样做没问题,但我只是想知道是否有更合适的信号我应该听。
答案 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
信号。