Bir gtk.Menu'nun içine herhangi bir gtk.Widget koymak, önce boş bir gtk.MenuItem koyarak biraz çalışır. Güvenilir görünmüyor - ama temelde çalışıyor. Bir appindicator.Indicator ile çalışmaz. Giriş boş kalır. Örneğin [border_size] öğesini 32 olarak ayarlasanız bile.
Çalışan tek widget bir gtk.Label (artı tabii ki MenuItem, ImageMenuItem ve benzeri).
Şimdi Me Menüsü bir gtk.Entry var, bu yüzden bunu düzgün yapmak kesinlikle mümkün olmalıdır. Nasıl yaparım?
İşte ne olduğumu açıklamak için bazı örnek kod:
self.item = gtk.MenuItem()
self.item.add(gtk.Label("hello world!"))
self.menu.append(self.item)
Yukarıdaki kod çalışır, ancak bu işe yaramaz:
self.item = gtk.MenuItem()
self.item.add(gtk.Entry())
self.menu.append(self.item)
Self.menu bir appindicator ise. Gösterge, bir gtk.Menu olsaydı, Giriş en azından görüntülenirdi.
İşte bazı çalışma kodu:
import gtk
import appindicator
class AppIndicator (object):
def __init__(self):
self.ind = appindicator.Indicator("hello world client",
"distributor-logo", appindicator.CATEGORY_APPLICATION_STATUS)
self.ind.set_status (appindicator.STATUS_ACTIVE)
self.menu = gtk.Menu()
item = gtk.MenuItem()
item.add(gtk.Label("hello world"))
# item.add(gtk.Entry())
self.menu.append(item)
self.menu.show_all()
self.ind.set_menu(self.menu)
indicator = AppIndicator()
gtk.main()