list.py 文件源码

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

项目:sciibo 作者: fdev 项目源码 文件源码
def on_key(self, ch):
        if not self.items:
            return False

        if ch == curses.KEY_UP:
            if self.selected == 0:
                return False

            self.selected -= 1

            # Selection is outside view, scroll up
            if self.selected - self.offset < 0:
                self.offset = self.selected

        elif ch == curses.KEY_DOWN:
            if self.selected == len(self.items) - 1:
                return False

            self.selected += 1

            # Selection is outside view, scroll down
            if self.selected - self.offset >= self.h:
                self.offset = self.selected - self.h + 1

        elif ch == curses.KEY_HOME:
            self.selected = 0
            self.offset = 0

        elif ch == curses.KEY_END:
            self.selected = len(self.items) - 1
            self.offset = max(0, self.selected - self.h + 1)

        elif ch == curses.KEY_ENTER:
            key, title, action = self.items[self.selected]
            self.select(key)
            return True  # no update necessary

        else:
            return False

        self.update()
        return True
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号