0
GTK3:ボタンは、私は背景が黒くすると2つのラベルがそれに応じて色を変更する必要がありたいトグルされたときGtkButtonで2人の子供をその状態に応じて違うスタイルにすることは可能ですか?
[name_label (black) value_label (grey)] - button inactive (white background)
[name_label (white) value_label (yellow)] - button active (black background)
:私はこのような(HBoxの経由)GtkButtonで2つのGtkLabelのウィジェットを持っています。
これはCSSでのみ可能ですか?
これは私が試したものです:
from gi.repository import Gtk, Gdk
window = Gtk.Window()
button = Gtk.Button()
hbox = Gtk.HBox()
name = Gtk.Label('Name')
value = Gtk.Label('Value')
value.set_name('value')
hbox.set_spacing(10)
hbox.pack_start(name, expand=False, fill=True, padding=0)
hbox.pack_start(value, expand=False, fill=True, padding=0)
button.add(hbox)
window.add(button)
window.connect('destroy', Gtk.main_quit)
window.show_all()
screen = Gdk.Screen.get_default()
css_provider = Gtk.CssProvider()
css_provider.load_from_path('style.css')
context = Gtk.StyleContext()
context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
Gtk.main()
のstyle.css:
.button {
background-color: white;
background-image: none;
}
.button #value {
color: grey;
}
.button:active {
background-color: black;
background-image: none;
color: white;
}
.button:active #value {
color: yellow;
}
ボタンが押されたときに値ラベルはグレーのままなので、最後のセクションは適用されません。これは期待されるものですか?