2

Gtk CSS を使用するアプリケーションを開発しています。

私はこの結果を得る必要があります:

理想的な結果

角丸四角はEventBox名前入りcontentです。


明らかな CSS コードは Gtk 3.8 および Gtk 3.10 で動作します。

#content
{
    border-radius: 20px;
    background: red;
}

しかし、Gtk 3.6 または 3.4 では失敗します - 境界線の外側の背景は透明ではありません:

3.6

このコードを使用すると:

#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()
4

0 に答える 0