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()あり、デフォルトで有効になっています。

出典

更新:例:

fill-level=3およびvalue=5のGtkHScale

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 に答える