0

些細な質問かもしれませんが、PyGTKでいくつかの深刻な問題が発生しています...gtkとの統合のためにアプリケーションインジケーターをプログラムしようとしていset_sensitive(False)ます。それらの上に...

コードスニペットは次のとおりです。

class CheckNAS: 
    def __init__(self): 
      self.ind = appindicator.Indicator("debian-doc-menu", "indicator-   messages",appindicator.CATEGORY_APPLICATION_STATUS)
      self.ind.set_status (appindicator.STATUS_ACTIVE)
      self.ind.set_attention_icon("icon1")
      self.ind.set_icon("icon2")

    def menu_setup(self):
      self.quit_item = gtk.MenuItem("QUIT") 
      self.quit_item.connect("activate",self.quit)

      if condition_function()==True:
        self.quit.set_sensitive(False)
      self.quit_item.show()
      self.menu.append(self.quit_item)

そして、私はをmenu_setup介して繰り返し行いadd_timeout(1000,self.condition_function)ます。これは原則としては問題なく機能しますが、クリックした直後にメニュー項目が鈍感になることをお勧めします...Noobの質問でごめんなさい:)

4

1 に答える 1

2

それはあなたが望むものですか?

class CheckNAS: 
    def __init__(self): 
      self.ind = appindicator.Indicator("debian-doc-menu", 
        "indicator-messages",appindicator.CATEGORY_APPLICATION_STATUS)
      self.ind.set_status (appindicator.STATUS_ACTIVE)
      self.ind.set_attention_icon("icon1")
      self.ind.set_icon("icon2")

    def menu_setup(self):
      self.quit_item = gtk.MenuItem("QUIT") 
      self.quit_item.connect("activate",self.sensitive)
      self.quit_item.show()
      self.menu.append(self.quit_item)

    def sensitive(self,widget):
      if widget.get_sensitive():
        widget.set_sensitive(False)
      else:
        widget.set_sensitive(True)
于 2013-01-03T09:57:58.493 に答える