Gnomeapplet - 只看到一个白点,一个条目和一个按钮应该是

时间:2011-07-28 23:37:16

标签: python pygtk gnome

我为gnome-panel编写了一个gnomeapplet,以及相应的服务器文件。当我使用“调试模式”时,一切似乎工作正常,但当我尝试从面板加载小程序时,它只显示一个小白点。 任何人都可以帮我找到问题吗?

我的代码是:

#!/usr/bin/env python

import gnomeapplet
import gobject

import sys
import gtk



class Priberam(gnomeapplet.Applet):

    def __init__(self, applet, iid):


    hbox = gtk.HBox(False, 0)
    image = gtk.Image()     
    pixbuf = gtk.gdk.pixbuf_new_from_file('1.png')
    pixbuf = gtk.gdk.Pixbuf.add_alpha(pixbuf,255,255,255 ,255)
    size = applet.get_size()-6
    pixbuf = pixbuf.scale_simple(size,size,gtk.gdk.INTERP_BILINEAR)

    image.set_from_pixbuf(pixbuf)

    button_search = gtk.Button()
    button_search.add(image)

    entry = gtk.Entry()


    hbox.pack_start(button_search, False, False, 0)
    hbox.pack_end(entry, False, False, 0)

    applet.add(hbox)
    applet.show_all()


gobject.type_register(Priberam)

def priberam_factory(applet,iid):
    Priberam(applet,iid)
    return True



if len(sys.argv) > 1 and sys.argv[1] == '-d': # debugging
    mainWindow = gtk.Window()
    mainWindow.set_title('Applet window')
    mainWindow.connect("destroy", lambda w: gtk.main_quit())
    applet = gnomeapplet.Applet()
    priberam_factory(applet, None)
    applet.reparent(mainWindow)
    mainWindow.show_all()
    gtk.main()
    sys.exit()

if __name__ == '__main__':
    gnomeapplet.bonobo_factory('OAFIID:GNOME_Priberam_Factory', gnomeapplet.Applet.__gtype__, 'Priberam Applet', '0.1', priberam_factory)

提前致谢

1 个答案:

答案 0 :(得分:1)

解决了...解决方案非常简单......我只需要将图像文件的路径更改为完整路径...而不是pixbuf = gtk.gdk.pixbuf_new_from_file('1.png')我应该使用例如:{{1} }

更好:pixbuf = gtk.gdk.pixbuf_new_from_file('/home/username/applet/1.png'),不要忘记pixbuf = gtk.gdk.pixbuf_new_from_file(os.path.join(os.path.dirname(__file__), '1.png'))