listbox.py 文件源码

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

项目:CoolesSpiel 作者: AlinaGri 项目源码 文件源码
def update(self, *args):
        """
        Handles the selection

        parameters: tuple arguments for the update (first argument should be an instance pygame.event.Event)
        return values: -
        """
        if len(args) > 0 and self.isActive():
            event = args[0]
            if event.type == pygame.KEYDOWN and self.isFocused():
                if event.key == pygame.K_UP:
                    self.moveCursor(-1)
                elif event.key == pygame.K_DOWN:
                    self.moveCursor(1)
                elif event.key == pygame.K_BACKSPACE or event.key == pygame.K_DELETE:
                    if self.isEditable():
                        if self._selection == self._cursor:
                            self.delete(self._selection - 1, CURSOR)
                            self.moveCursor(-1)
                        else:
                            self.delete(SELECTION, CURSOR)
                            self.setCursor(self._selection)
            elif event.type == pygame.MOUSEBUTTONUP:
                if self.rect.collidepoint(event.pos):
                    self.setSelection(CURSOR, self._posToIndex(event.pos[1] - self.rect.y))
            elif event.type == pygame.MOUSEBUTTONDOWN:
                if self.rect.collidepoint(event.pos):
                    self.setCursor(self._posToIndex(event.pos[1] - self.rect.y))

        super(Listbox, self).update(*args)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号