Python 如何从entrycompletion获取条目

Python 如何从entrycompletion获取条目,python,gtk3,Python,Gtk3,我在看这篇文章:在我正在编写的小东西中,我有一个非常相似的设置。我的问题是,一旦entrycompletion完成,并且输入框中有url,我如何将该url从完成中获取到变量中?entry.get_text()似乎不起作用,我尝试的其他方法似乎都给了我一个对象或地址。如果您不想点击,请点击上面的链接 # simplified example from the tutorial import gtk urls = [ 'http://www.google.com', 'http:/

我在看这篇文章:在我正在编写的小东西中,我有一个非常相似的设置。我的问题是,一旦entrycompletion完成,并且输入框中有url,我如何将该url从完成中获取到变量中?entry.get_text()似乎不起作用,我尝试的其他方法似乎都给了我一个对象或地址。如果您不想点击,请点击上面的链接

# simplified example from the tutorial
import gtk

urls = [
    'http://www.google.com',
    'http://www.google.com/android',
    'http://www.greatstuff.com',
    'http://www.facebook.com',
    ]
liststore = gtk.ListStore(str)
for s in urls:
    liststore.append([s])

completion = gtk.EntryCompletion()
completion.set_model(liststore)
completion.set_text_column(0)

entry = gtk.Entry()
entry.set_completion(completion)

# boilerplate
window = gtk.Window()
window.add(entry)

window.connect('destroy', lambda w: gtk.main_quit())
window.show_all()
gtk.main()

下面的代码变体适合我

# simplified example from the tutorial
import gtk 

def on_match_selected(completion, treemodel, treeiter):
  print treemodel[treeiter][completion.get_text_column()]

urls = [ 
    'http://www.google.com',
    'http://www.google.com/android',
    'http://www.greatstuff.com',
    'http://www.facebook.com',
    ]   
liststore = gtk.ListStore(str)
for s in urls:
    liststore.append([s])

completion = gtk.EntryCompletion()
completion.set_model(liststore)
completion.set_text_column(0)

completion.connect('match-selected', on_match_selected)

entry = gtk.Entry()
entry.set_completion(completion)

# boilerplate
window = gtk.Window()
window.add(entry)

window.connect('destroy', lambda w: gtk.main_quit())
window.show_all()
gtk.main()

非常感谢你。到那里的几天里,我都会把头撞在墙上。工作完美。