Текстовое поле в проклятиях с валидатором для просмотра текущих введенных данных

Мне бы хотелось, чтобы в моем приложении был какой-то "мгновенный поиск", но если я добавлю проверку в текстовое поле, я не смогу добавить пробелы в поиске.

Другая проблема заключается в том, что я не могу "выйти" из редактирования с помощью Enter или Ctrl + G.

Так что после нажатия я получаю Got string 'a ', После нажатия пробела я получаю ту же строку. После нажатия b я получаю Got string 'ab ',

import curses
import curses.textpad

def main(stdscr):
    stdscr.clear()

    editbox = curses.newwin(3, 30, 1, 0)
    editbox.box()
    editbox.refresh()
    editwin = editbox.derwin(1, 28, 1, 1)
    statuswin = curses.newwin(1, 30, 0, 0)
    tb = curses.textpad.Textbox(editwin)

    def validate(key):
        tb.do_command(key)
        statuswin.clear()
        statuswin.addstr(0,0,"Got string {!r}".format(tb.gather()))
        statuswin.refresh()


    tb.edit(validate)
    s = tb.gather()
    stdscr.clear()
    stdscr.addstr(0,0,"Got string {!r}".format(s))
    stdscr.getch()

curses.wrapper(main)

0 ответов

Другие вопросы по тегам