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 | 19202 (9950) | black ice |
| » | Predstavitev dvojiškega drevesa z seznamomOddelek: Programiranje | 2148 (1748) | ktka |
| » | [Python]Naloga z razredi in dedovanjemOddelek: Programiranje | 1296 (1048) | ktka |
| » | Ruby + Glade ... težaveOddelek: Programiranje | 1750 (1543) | sebatronic |
| » | python -slovarOddelek: Programiranje | 3356 (2335) | Valex86 |