社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在Python中更改Gtk-Toglebutton的背景颜色

John • 2 年前 • 1044 次点击  

我已经找了几天关于如何在Python/Gtk3中更改小部件颜色的信息,但没有找到太多。我特别想做的是更改CSS中ToggleButtons的颜色。Gtk文档对我没有帮助,因为我不懂C。

我尝试在以下位置理解代码: Change the Background color of a Toglebutton when pressed in GTK3 (C language) ,并将其更改为Python,如下所示,但按钮颜色不变。有人能告诉我,是否有一个很好的资源可以让Python程序员使用Gtk程序的CSS,或者有人能给我指明正确的方向来更改下面的代码吗?提前谢谢。

import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Gdk

class btn:
    def __init__(self):
# From https://stackoverflow.com/questions/41796529/
        styleProvider=Gtk.CssProvider()
        css = b"""
GtkWindow {
    background-color: #A4A4A4;
    color: cyan;
    border-width: 3px;
    border-color: blue;
}

#myGrid {
    background-color: white;
    border-style: solid;
    border-width: 3px;
    border-radius: 15px;
    border-color: grey;
}

#myChild {
    background-color: red;
    border-style: solid;
    border-width: 3px;
    border-radius: 15px;
    border-color: grey;
}

#tgl_btn{
    background-color: red;
    color: red;
}


GtkButton {
    background-image: none;
    background-color: blue;
}

GtkButton:active {
    background-color: #00FF00;
}
"""
        styleProvider.load_from_data(css)
        Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),styleProvider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
        self.window = Gtk.Window()
        self.btn = Gtk.ToggleButton(label = 'tgl_btn')
        self.window.add(self.btn)
        self.window.show_all()

    def main(self):
        Gtk.main()

p=btn()
p.main()
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/157574
 
1044 次点击  
文章 [ 1 ]  |  最新文章 2 年前