我正在看这篇文章:https://stackoverflow.com/a/2262200 我在编码的小东西中有一个非常类似的设置.我的问题是,一旦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()
Run Code Online (Sandbox Code Playgroud)
以下代码变体适合我.
# 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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
778 次 |
| 最近记录: |