微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

pygtk图片淡入

如何解决pygtk图片淡入

我有image1.png和image2.png 当我的应用启动时,显示image1.png,在应用运行后,我需要隐藏 image1.png并在其上使用image2.png的淡入显示show2.png image1.png 我怎样才能做到这一点?我正在使用python和pygtk,也可以导入PIL模块 是必要的     

解决方法

这是我刚刚完成的淡入淡出效果的pygtk应用程序。它改编自以下C代码:
import gtk
import gobject
import cairo
import sys

class PyApp(gtk.Window):

    def __init__(self):
        super(PyApp,self).__init__()

        self.set_title(\"Fade In\")
        self.resize(300,350)
        self.set_position(gtk.WIN_POS_CENTER)

        ## alpha is starting transparency
        self.alpha = 0
        ## delta is amount to increase alpha
        self.delta = 0.01

        self.connect(\"destroy\",gtk.main_quit)

        self.darea = gtk.DrawingArea()
        self.darea.connect(\"expose-event\",self.expose)
        self.add(self.darea)

        try:
            self.surface = cairo.ImageSurface.create_from_png(\"/usr/share/icons/gnome/256x256/emotes/face-angel.png\")
        except Exception,e:
            print e.message
            sys.exit(1)

        self.show_all()

    def fadeImage(self):
        self.darea.queue_draw()

    def expose(self,widget,event):

        cr = widget.window.cairo_create()

        cr.set_source_surface(self.surface,10,10)
        cr.paint_with_alpha(self.alpha)

        self.alpha += self.delta

        if self.alpha >= 1: return False
        else: gobject.timeout_add(50,self.fadeImage)

PyApp()
gtk.main()
    ,听起来GTK并不是完成这项工作的最佳工具。我建议使用杂波。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。