簡體   English   中英

在gtk3 + for python中,如何獲取所選menuitem或所選menuitem的索引?

[英]In gtk3+ for python how to get selected menuitem or index of menuitem selected?

def search(self,button):
    print 'search clicked'
    self.popup_menu=Gtk.Menu()
    s=self.search_field.get_text()
    if s:
        href, title, size, seeders, leechers= scrape_test.main() 
        for i in range(len(href)):

            i1 = Gtk.MenuItem(str(i+1)+'. '+title[i]+' '+size[i]+'       '+seeders[i]+' '+leechers[i])
            self.popup_menu.append(i1)
            print ' '
        self.popup_menu.show_all()
        self.popup_menu.popup(None, None, None, None, 0, Gtk.get_current_event_time())

彈出窗口顯示菜單,但我要獲取所選菜單項或所選菜單項的索引。 我該怎么辦?

據我了解,您必須將處理程序連接到每個MenuItem的“ activate”事件。 像這樣:

def search(self):
    print("search clicked")
    self.popup_menu = Gtk.Menu()
    s = "Some text to test "
    if s:
        for i in range(5):
            i1 = Gtk.MenuItem(s + str(i))
            self.popup_menu.append(i1)
            i1.connect("activate", self.item_activated, i)
            print(' ')
        self.popup_menu.show_all()
        self.popup_menu.popup(None, None, None, None, 0, \
                              Gtk.get_current_event_time())

def item_activated(self, wdg, i):
    print('Item activated ', i)

我已經簡化了菜單項的實際文本,因為我沒有獲取實際文本的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM