Текстовое поле в проклятиях с валидатором для просмотра текущих введенных данных
Мне бы хотелось, чтобы в моем приложении был какой-то "мгновенный поиск", но если я добавлю проверку в текстовое поле, я не смогу добавить пробелы в поиске.
Другая проблема заключается в том, что я не могу "выйти" из редактирования с помощью 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)