Question

Je voudrais faire une application en forme de panneau, en apparence tout comme le panneau Gnome. Je voudrais utiliser GTK pour cela (même si je l'ai regardé dans Qt), de préférence en utilisant Python.

Comment puis-je décorer la fenêtre de telle sorte une couleur / gradient / bitmap / svg est appliquée?

Était-ce utile?

La solution

La première consiste à utiliser des styles (l'exemple ci-dessous les utilisations des chaînes de style en-ligne):

#!/usr/bin/env python

import gtk

pixmap_rc = """
pixmap_path "/home/foo/images"
style "bar" {
    bg_pixmap[NORMAL] = "logo.svg"
} widget "*foo" style "bar"
"""

color_rc= """
style "bar" {
    bg[NORMAL] = "Hot Pink"
} widget "*foo" style "bar"
"""

def main ():
    window = gtk.Window()
    window.set_decorated(False)
    window.connect("destroy", gtk.main_quit)

    window.set_name("foo")
    gtk.rc_parse_string(color_rc)

    window.show_all()
    gtk.main()

if __name__ == "__main__":
    main ()

gradient de couleur Réglage via gtkrc semble être spécifique du moteur, bien que.

Modifier va ici gtkrc exemple minimalistes avec l'image de fond étirée:

pixmap_path "/home/foo/images"
style "bar" {
    engine "pixmap" {
        image {
            function = FLAT_BOX
            file     = "test.png"
            stretch  = TRUE
        }
    }
} widget "*foo" style "bar"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top