📄 entry_completion.py
字号:
#!/usr/bin/env python'''Entry CompletionGtkEntryCompletion provides a mechanism for adding support forcompletion in GtkEntry.'''# pygtk version: Maik Hertha <maik.hertha@berlin.de>import gtkclass EntryCompletionDemo(gtk.Dialog): def __init__(self, parent=None): gtk.Dialog.__init__(self, self.__class__.__name__, parent, 0, (gtk.STOCK_CLOSE, gtk.RESPONSE_NONE)) try: self.set_screen(parent.get_screen()) except AttributeError: self.connect('destroy', lambda *w: gtk.main_quit()) self.connect("response", lambda d, r: d.destroy()) self.set_resizable(False) vbox = gtk.VBox(False, 5) self.vbox.pack_start(vbox, True, True, 0) vbox.set_border_width(5) label = gtk.Label() label.set_markup("Completion demo, try writing <b>total</b> " "or <b>gnome</b> for example.") vbox.pack_start(label, False, False, 0) # Create our entry entry = gtk.Entry() vbox.pack_start(entry, False, False, 0) # Create the completion object completion = gtk.EntryCompletion() # Assign the completion to the entry entry.set_completion(completion) # Create a tree model and use it as the completion model completion_model = self.__create_completion_model() completion.set_model(completion_model) # Use model column 0 as the text column completion.set_text_column(0) self.show_all() def __create_completion_model(self): ''' Creates a tree model containing the completions. ''' store = gtk.ListStore(str) # Append one word iter = store.append() store.set(iter, 0, "GNOME") # Append another word iter = store.append() store.set(iter, 0, "total") # And another word iter = store.append() store.set(iter, 0, "totally") return storedef main(): EntryCompletionDemo() gtk.main()if __name__ == '__main__': main()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -