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