代码之家  ›  专栏  ›  技术社区  ›  dildeolupbiten

如何在打字时用诅咒给单词上色?

  •  1
  • dildeolupbiten  · 技术社区  · 8 年前

    我是新来的诅咒图书馆,我试图彩色的标准,但还没有做。我写了以下代码,但它们没有按我希望的那样工作,有人能帮我展示一下如何给标准文本上色吗?

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import curses
    
    stdscr = curses.initscr()
    curses.start_color()
    curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
    stdscr.nodelay(1)
    
    q = 1
    x = set()
    
    while q != ord("q"):
        if len(x) == 3:
            stdscr.addstr(0,0, "def", curses.color_pair(1))
        if q == ord("d"):
            x.add("d")
        elif q == ord("e"):
            x.add("e")
        elif q == ord("f"):
            x.add("f")
        q = stdscr.getch()
    
    stdscr.getch()
    curses.endwin()
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Thomas Dickey    8 年前

    x 设置是最新的:

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import curses
    
    stdscr = curses.initscr()
    curses.start_color()
    curses.init_pair(1, curses.COLOR_RED, curses.COLOR_BLACK)
    curses.raw()
    curses.noecho()
    
    q = -1
    x = set()
    
    while q != ord("q"):
        if q >= 0:
            stdscr.addstr(chr(q))
        if q == ord("d"):
            x.add("d")
        elif q == ord("e"):
            x.add("e")
        elif q == ord("f"):
            x.add("f")
        else:
            x = set()
        if len(x) == 3:
            stdscr.addstr("\b\b\bdef", curses.color_pair(1))
            x = set()
        q = stdscr.getch()
    
    stdscr.getch()
    curses.endwin()