我正在构建一个简单的GTK应用程序,但是在样式设置上遇到了问题。 这是screenshot
它是一个非常基本的Gtk.Dialog,其中包含一些Gtk.Box以及Gtk.Label和Gtk.Entry。我想给对话框内容留一些边距,并且还要将标签向左对齐。
我读到我需要使用CSS来做,但是上班时遇到了麻烦。我正在像这样加载样式表:
style_provider = Gtk.CssProvider()
style_provider.load_from_data(GTK_STYLE)
Gtk.StyleContext.add_provider_for_screen(
Gdk.Screen.get_default(),
style_provider,
Gtk.STYLE_PROVIDER_PRIORITY_USER
)
这是我的css文件过期:
GTK_STYLE = """
* {
background: blue;
-GtkDialog-content-area-spacing: 10;
}
.label {
background: red;
}
GtkLabel {
color: red;
}
GtkDialog {
background: red;
}
"""
在此CSS中,仅应用了全局蓝色背景。我的其他样式定义都没有应用。
我缺少什么?我需要在选择器中更具体吗?那我怎么知道层次结构?
谢谢您的帮助。
答案 0 :(得分:1)
文档在CSS nodes
下列出了样式属性,例如,参见GtkLabel的文档:https://developer.gnome.org/gtk3/stable/GtkLabel.html
因此,我相信为了设置所有必须编写的GtkLabel的颜色(未经测试):
label {
color: red;
}
有关更多信息,请访问https://developer.gnome.org/gtk3/stable/chap-css-overview.html