Forum » Programiranje » Gtk3 + Python + transparentno glavno okno
Gtk3 + Python + transparentno glavno okno
BigWhale ::
Je kdo ze kaj delal z Gtk3?
Tole je koda, ki bi morala izrisati rahlo transparentno okno in na njem netransparenten gumb. Pa okno ni transparentno. xdpyinfo/xwininfo javita, da je okno v 32 bitem color space-u in da je vse ok.
Ce nastavim .set_opcity(.5) potem okno postane transparentno, a zal tudi vsebina, tega pa nocem. :)
Tole je koda, ki bi morala izrisati rahlo transparentno okno in na njem netransparenten gumb. Pa okno ni transparentno. xdpyinfo/xwininfo javita, da je okno v 32 bitem color space-u in da je vse ok.
Ce nastavim .set_opcity(.5) potem okno postane transparentno, a zal tudi vsebina, tega pa nocem. :)
#!/usr/bin/env python from gi.repository import Gtk, Gdk class MyWin (Gtk.Window): def __init__(self): super(MyWin, self).__init__() self.set_position(Gtk.WindowPosition.CENTER) self.set_border_width(30) self.screen = self.get_screen() self.visual = self.screen.get_rgba_visual() if self.visual != None and self.screen.is_composited(): print "yay" self.set_visual(self.visual) box = Gtk.Box() btn1 = Gtk.Button(label="foo") box.add(btn1) self.add(box) self.set_app_paintable(True) self.connect("draw", self.area_draw) self.show_all() def area_draw(self, widget, cr): cr.set_source_rgba(0, 0, 0, .3) cr.paint() # def screen_changed(self, widget, cr): # self.screen = widget.get_screen() # self.visual = self.screen.get_rgba_visual() # if self.visual != None and self.screen.is_composited(): # self.set_visual(self.visual) MyWin() Gtk.main()
BigWhale ::
Popravljena callback funkcija, ki dejansko deluje:
def area_draw(self, widget, cr): cr.set_source_rgba(.2, .2, .2, 0.9) cr.set_operator(cairo.OPERATOR_SOURCE) cr.paint() cr.set_operator(cairo.OPERATOR_OVER)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Python - pomoč (strani: 1 2 3 )Oddelek: Programiranje | 18169 (8917) | black ice |
» | Predstavitev dvojiškega drevesa z seznamomOddelek: Programiranje | 1959 (1559) | ktka |
» | [Python]Naloga z razredi in dedovanjemOddelek: Programiranje | 1157 (909) | ktka |
» | Ruby + Glade ... težaveOddelek: Programiranje | 1621 (1414) | sebatronic |
» | python -slovarOddelek: Programiranje | 3147 (2126) | Valex86 |