2

虽然使用set_fill_level将填充水平设置在比例值以下来将填充水平设置在比例值之上是很简单的,但似乎不起作用。

为了澄清我想,例如,能够在滑块为 50% 时将填充水平设置为 25%

FFFF----S-------
  • 我错过了一些明显的东西吗?

或者:

  • 有谁知道一个聪明的黑客来让它工作?

额外细节:

  • libgtk2.0-dev
  • libgtkmm-2.4-dev
  • Ubuntu 10.04.4
  • 默认主题(氛围)

不良行为的图像:

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

2

您只需要禁用限制:

此外,可以将范围的滑块位置限制为小于填充水平的值。这是控制器[原文如此]gtk_range_set_restrict_to_fill_level()默认情况下启用。

来源

更新:示例:

GtkHScale 填充级别 = 3 和值 = 5

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 和 3)都有这个问题。作为记录,我的截图是使用 Adwaita (GTK+ 3) 主题拍摄的。

于 2012-05-17T10:53:53.910 回答