首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按钮没有在PyGI中被样式化

按钮没有在PyGI中被样式化
EN

Stack Overflow用户
提问于 2014-06-27 16:36:02
回答 1查看 87关注 0票数 0

我试图创建一个按钮,是红色,而不是默认的颜色。我是通过一个CssProvider()应用样式,但按钮的颜色不变。我做错什么了?

以下是代码:

代码语言:javascript
复制
from gi.repository import Gtk, Gdk

CSS = """
GtkButton {
    background-color: red;
}
"""

class MyWindow(Gtk.Window):

    def __init__(self):
        Gtk.Window.__init__(self, title="Theme")
        self.resize(640, 480)
        self.connect("delete-event", Gtk.main_quit)

        cssprovider = Gtk.CssProvider()
        cssprovider.load_from_data(CSS)

        screen = Gdk.Screen.get_default()
        sc = Gtk.StyleContext()
        sc.add_provider_for_screen(screen, cssprovider,
                Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)

        btn = Gtk.Button(label="Click")
        self.add(btn)

win = MyWindow()
win.show_all()
Gtk.main()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-27 22:58:14

问题是背景图像优先于背景颜色,前者很可能已经设置在主题中(按钮梯度)。您可以使用“背景”属性或使用“背景颜色”和未设置的“背景图像”强制完全替换背景:

代码语言:javascript
复制
GtkButton {
    background: red;
}

或者:

代码语言:javascript
复制
GtkButton {
    background-image: none;
    background-color: red;
}

请参阅:bug.cgi?id=728027

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24456782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档