虽然使用 set_fill_level
将填充级别设置为高于比例值很简单,但将填充级别设置为低于比例值似乎不起作用。
为了澄清,我希望能够在 slider 处于 50% 时将填充水平设置为 25%
FFFF----S-------
- 我是否遗漏了一些明显的东西?
或者:
- 有谁知道有什么巧妙的技巧可以让它发挥作用吗?
额外详细信息:
- libgtk2.0-dev
- libgtkmm-2.4-dev
- Ubuntu 10.04.4
- 默认主题(氛围)
不良行为的图像:
最佳答案
您只需禁用限制:
Additionally, it's possible to restrict the range's slider position to values which are smaller than the fill level. This is controller [sic] by
gtk_range_set_restrict_to_fill_level()
and is by default enabled.
( Source )
更新:示例:
import gtk
s = gtk.HScale()
s.set_show_fill_level(True)
s.set_restrict_to_fill_level(False) # <=====
s.set_range(0, 10)
s.set_fill_level(3)
s.set_value(5)
w = gtk.Window()
w.connect('destroy', lambda *x: gtk.main_quit())
w.add(s)
w.show_all()
gtk.main()
更新 2: 屏幕截图中看到的问题很可能是 GTK+ 主题中的错误。我测试的大约一半主题(GTK+ 2 和 GTK+ 3)都有这个问题。作为记录,我的屏幕截图是使用 Adwaita (GTK+ 3) 主题拍摄的。
关于user-interface - 可以将填充级别设置为低于 Gtk::Scale 的值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623566/