Поэтому, чтобы иметь удобный интерфейс, мне приходится запускать этот цикл getch в отдельном потоке:< /p>
https://stackoverflow.com/a/912796/3605689
Что по сути означает, что я должен реализовать все базовые функции (например, Backspace) самостоятельно. Я уже реализовал завершение команд и историю команд (например, когда вы нажимаете клавишу Tab или стрелку вверх/вниз в Linux), но я не могу понять, как реализовать стрелку влево/вправо (то есть поиск по вводу).
Обычно я реализую это так: при каждом гече, не равном -1, я проверяю, нажал ли пользователь специальную клавишу (которая каким-то образом изменяет вводимый текст). Затем я очищаю стандартный вывод, используя следующую функцию:
Код: Выделить всё
void inputobject::clear_line(int nletters)
{
QTextStream(stdout)
Подробнее здесь: [url]https://stackoverflow.com/questions/38770996/linux-moving-the-console-cursor-visual[/url]
Мобильная версия