Gtk CSS を使用するアプリケーションを開発しています。
私はこの結果を得る必要があります:
角丸四角はEventBox
名前入りcontent
です。
明らかな CSS コードは Gtk 3.8 および Gtk 3.10 で動作します。
#content
{
border-radius: 20px;
background: red;
}
しかし、Gtk 3.6 または 3.4 では失敗します - 境界線の外側の背景は透明ではありません:
このコードを使用すると:
#content
{
border-radius: 20px;
background: linear-gradient(to top, red);
}
この結果が得られます (左上の小さな点):
目的の結果を得るには、どのコンテナーまたは css を使用する必要がありますか?
助けてくれてありがとう。
CSS をテストするための Python コード:
from gi.repository import Gtk
from gi.repository import Gdk
CSS_DATA = """
/* Some css */
"""
window = Gtk.Window()
window.set_size_request(300, 300)
content = Gtk.EventBox()
content.props.name = "content"
content.props.margin = 50
button = Gtk.Button("button")
button.props.halign = Gtk.Align.CENTER
button.props.valign = Gtk.Align.CENTER
content.add(button)
window.add(content)
window.show_all()
css = Gtk.CssProvider()
css.load_from_data(CSS_DATA)
style_context = window.get_style_context()
style_context.add_provider_for_screen(Gdk.Screen.get_default(), css, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
Gtk.main()