吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1872|回复: 4
收起左侧

[Python 转载] 终端键盘方向键选择交互实现

[复制链接]
kk159 发表于 2022-1-6 16:13
本帖最后由 kk159 于 2022-1-6 16:14 编辑

大致实现效果如下:
GIF 2022-1-6 16-05-52.gif


PS.感觉功能虽然实现,貌似不是完美的解决办法,
有更好的处理,望指导留言.....

完整代码:
[Python] 纯文本查看 复制代码
import keyboard
import os


class Colors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'


class Menu():
    key = 0
    order = ['11111', '2222', '3333']

    def __init__(self):
        self.menu()
        keyboard.add_hotkey('up', lambda: self.upPress())
        keyboard.add_hotkey('down', lambda: self.downPress())
        keyboard.add_hotkey('enter', lambda: self.enterPress())
        keyboard.wait('esc')

    def menu(self):

        os.system('cls')
        for i in range(len(self.order)):
            prev = Colors.OKBLUE + '  '
            if self.key == i:
                prev = ">>" + Colors.HEADER
            print(prev + self.order[i])

    def upPress(self):

        if self.key == 0:
            self.key = len(self.order) - 1
        else:
            self.key -= 1
        self.menu()

    def downPress(self):

        if self.key == len(self.order) - 1:
            self.key = 0
        else:
            self.key += 1
        self.menu()

    def enterPress(self):
        print(Colors.OKGREEN + self.order[self.key])


if __name__ == '__main__':
    m = Menu()

免费评分

参与人数 1吾爱币 +1 收起 理由
liyuan689 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hiodis 发表于 2022-1-6 17:35
学习学习··
litai123 发表于 2022-1-6 23:17
bly27984 发表于 2022-1-6 23:40
liyuan689 发表于 2022-1-7 09:01
学习了,谢谢楼主分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:32

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表