AutoComplete.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:FunKii-UI 作者: dojafoja 项目源码 文件源码
def autocomplete(self, delta=0):
                """autocomplete the Combobox, delta may be 0/1/-1 to cycle through possible hits"""
                if delta: # need to delete selection otherwise we would fix the current position
                        self.delete(self.position, tkinter.END)
                else: # set position to end so selection starts where textentry ended
                        self.position = len(self.get())
                # collect hits
                _hits = []
                for element in self._completion_list:

                        box_value = self.get()
                        if element.lower().startswith(box_value.lower()): # Match case insensitively
                                _hits.append(element)
                # if we have a new hit list, keep this in mind
                if _hits != self._hits:
                        self._hit_index = 0
                        self._hits=_hits
                # only allow cycling if we are in a known hit list
                if _hits == self._hits and self._hits:
                        self._hit_index = (self._hit_index + delta) % len(self._hits)
                # now finally perform the auto completion
                if self._hits:
                        txt=self._hits[self._hit_index]
                        self.delete(0,tkinter.END)
                        self.insert(0,txt)
                        self.select_range(self.position,tkinter.END)
                        self.event_generate('<<ComboboxSelected>>')
                else:
                        self.event_generate('<<NoHits>>')
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号