在使用 Glade 创建的 Python GTK3 程序中导入 CSS 文件
Import CSS file in Python GTK3 program created using Glade
我试图查找有关添加彩色按钮小部件的信息。我尝试将 suggested-action
添加为 class,但按钮仍然是灰色的。所以我想用我自己的样式信息编写我自己的 css 文件。
我正在使用 glade 创建 glade 文件并从我的 main.py.
中构建 gui
我必须将 css 文件放在我的源代码树中的什么位置以及如何导入它?
这里有一个 HowDoI 指南:https://wiki.gnome.org/HowDoI/CustomStyle
在Python你必须先导入Gdk:
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk
然后你可以在启动时设置CSS:
screen = Gdk.Screen.get_default()
provider = Gtk.CssProvider()
provider.load_from_path("/path/to/style.css")
Gtk.StyleContext.add_provider_for_screen(screen, provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
这里我推荐使用绝对路径。如果您使用相对路径,如果 工作目录 不是 项目目录,您将遇到问题。例如,如果你使用相对路径,这将不起作用:
cd somedirectory
python /home/user/project/main.py
# Error: cannot find style.css
注意:当然,background-color 属性 只有在 no 时才有效 background-image 设置填充背景。 Adwaita 主题在按钮上设置背景图像。所以删除它:
button {
background: none;
background-color: red;
}
我试图查找有关添加彩色按钮小部件的信息。我尝试将 suggested-action
添加为 class,但按钮仍然是灰色的。所以我想用我自己的样式信息编写我自己的 css 文件。
我正在使用 glade 创建 glade 文件并从我的 main.py.
我必须将 css 文件放在我的源代码树中的什么位置以及如何导入它?
这里有一个 HowDoI 指南:https://wiki.gnome.org/HowDoI/CustomStyle
在Python你必须先导入Gdk:
gi.require_version('Gdk', '3.0')
from gi.repository import Gdk
然后你可以在启动时设置CSS:
screen = Gdk.Screen.get_default()
provider = Gtk.CssProvider()
provider.load_from_path("/path/to/style.css")
Gtk.StyleContext.add_provider_for_screen(screen, provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
这里我推荐使用绝对路径。如果您使用相对路径,如果 工作目录 不是 项目目录,您将遇到问题。例如,如果你使用相对路径,这将不起作用:
cd somedirectory
python /home/user/project/main.py
# Error: cannot find style.css
注意:当然,background-color 属性 只有在 no 时才有效 background-image 设置填充背景。 Adwaita 主题在按钮上设置背景图像。所以删除它:
button {
background: none;
background-color: red;
}