gtk.Menu 안에 gtk.Widget을 넣는 것은 빈 gtk.MenuItem을 먼저 넣어서 작동한다. 신뢰할 수없는 것 같지만 기본적으로 작동합니다. appindicator.Indicator를 사용하면 작동하지 않습니다. 항목이 비어 있습니다. 예를 들어 child [border_size]를 32로 설정하더라도
작동하는 유일한 위젯은 gtk.Label (물론 MenuItem, ImageMenuItem 등)입니다.
이제 Me Menu에 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 인 경우 최소한 Entry가 표시됩니다.
작동 코드는 다음과 같습니다.
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()