1
我正在開發一個鸚鵡螺延伸和我有以下代碼:用Python編寫的Nautilus擴展時,它調用gtk.main不運行()
#!/usr/local/bin/python
# -*- coding: utf-8 -*-
import urllib
import gtk
import pygtk
import nautilus
import gconf
import gtk.glade
class Slide (nautilus.MenuProvider):
f = None
def __init__(self):
self.client = gconf.client_get_default()
self.f = gtk.glade.XML("papel.glade")
self.window = self.f.get_widget("window1")
gtk.main()
def oi (self):
self.window.show()
def menu_activate_cb(self, menu, file):
self.oi()
def get_file_items(self, window, files):
if len(files) != 1:
return
item = nautilus.MenuItem('NautilusPython::slide_file_item', 'Slide', 'Slide')
item.connect('activate', self.menu_activate_cb, files[0])
return item,
def get_background_items(self, window, file):
item = nautilus.MenuItem('NautilusPython::slide_item', 'Slide', 'Slide')
item.connect('activate', self.menu_background_activate_cb, file)
return item,
def menu_background_activate_cb(self, menu, file):
self.oi()
的代碼不工作(幻燈片不會出現在上下文菜單中)。但是,如果我評論這些行:
self.f = gtk.glade.XML("papel.glade")
self.window = self.f.get_widget("window1")
gtk.main()
然後代碼運行。我看不到這些線路有任何問題,有什麼幫助?
你能否詳細說明「不行」? – 2010-10-05 00:27:21
另一個建議是使用gtk.Builder代替gtk.glade.XML。 – 2010-10-05 16:56:53