2
任意のgtk.Widgetをappindicator.Indicatorに入れる
空のgtk.MenuItemを最初に配置することで、gtk.Widgetをgtk.Menu内に配置することは、いくらか機能します。信頼できるとは思えませんが、基本的には機能します。appindicator.Indicatorでは機能しません。エントリは空のままです。たとえば、child [border_size]を32に設定しても。 動作する唯一のウィジェットはgtk.Label(そしてもちろんMenuItem、ImageMenuItemなど)です。 Meメニューにはgtk.Entryが含まれているので、これを確実に適切に行うことができるはずです。どうすればいいのですか? 以下は、私が何をしているのかを説明するためのサンプルコードです。 self.item = gtk.MenuItem() self.item.add(gtk.Label("hello world!")) self.menu.append(self.item) 上記のコードは機能しますが、これは機能しません。 self.item = gtk.MenuItem() self.item.add(gtk.Entry()) self.menu.append(self.item) self.menuがappindicator.Indicatorである場合、gtk.Menuであれば、エントリは少なくとも表示されます。 動作するコードは次のとおりです。 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) …