gpt4 book ai didi

python - python中gtk.DrawingArea的透明背景

转载 作者:太空宇宙 更新时间:2023-11-03 17:57:40 25 4
gpt4 key购买 nike

我在设置绘图区域的透明背景时遇到问题。

我想要这个的原因是我有一个主窗口,其中背景

def draw_pixbuf(self,widget, event):
path = 'test.jpg'
pixbuf = gtk.gdk.pixbuf_new_from_file(path)
scaled_buf = pixbuf.scale_simple(800,480,gtk.gdk.INTERP_BILINEAR)
widget.window.draw_pixbuf(widget.style.bg_gc[gtk.STATE_NORMAL], scaled_buf, 0, 0, 0,0)
self.window = gtk.Window()
self.window.connect("delete-event", gtk.main_quit)
self.window.set_decorated(False)
self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.window.set_size_request(800,480)
hbbox = gtk.HBox()
hbbox.connect('expose-event', self.draw_pixbuf)

所以我的 HBox 有这个背景,里面有两个固定容器 - 一个按钮和一个绘图区域。

fix = gtk.Fixed()
image = gtk.Image()
image.set_from_file("close.png")
event_box = gtk.EventBox()
event_box.add(image)
event_box.set_size_request(30,30)
event_box.set_visible_window(False)
event_box.connect("button_press_event",gtk.mainquit)
fix.put(event_box,140,0)

self.darea = gtk.DrawingArea()

self.darea.set_size_request(450,300)
self.darea.connect("expose-event", self.expose)
fix2 = gtk.Fixed()
fix2.put(self.darea,175,90)
hbbox.pack_start(fix2, True, False, 10)
hbbox.pack_end(fix, True, False, 10)
#hbbox.pack_start(self.darea,True,False,10)
self.window.add(hbbox)
self.window.show_all()

但是绘图区域会用它自己的默认背景(灰色)覆盖 HBox 的背景。我可以通过modify_bg函数更改背景,但我希望它透明地在HBox的背景上写入cairo动画文本。

因此,目标是获得窗口的背景图像,并在其上绘制 caito 动画文本,而不是灰色矩形(绘图区域的背景)。

我是 GTK 新手,所以也许我错过了一些重要的操作方法。

希望能帮到你。谢谢。

最佳答案

我也没有找到解决方案并切换到开罗(Pycairo)

查看更多信息:GTK drawable area transparent background color

关于python - python中gtk.DrawingArea的透明背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28260969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com