Я работаю над приложением Point of Sale, у меня есть функция, которая берет текст из QLineEdit (штрих-код продукта) и запускает запрос, который ищет продукт отображается. Проблема в том, что я выполняю запрос каждый раз, когда текст изменяется, то есть каждый раз, когда набирается новый символ. Есть ли способ дождаться, когда пользователь перестанет печатать, а затем запустит запрос? Я буду использовать карманный сканер, чтобы он был как 100 мс между каждым набираемым символом.Дождитесь последнего символа, введенного в QLineEdit :: onTextChanged
Я думаю, что мне нужно что-то вроде этого:
void PoS::on_lineEdit_textEdited()
{
//check for keys still being pressed
//if 100ms have passed without any key press, run query
}
Я пытался использовать таймер и также темы (я новичок в Qt 5), но не увенчались успехом до сих пор.
Работает как очарование! это именно то, что мне нужно. Спасибо – user3338859
Простой и элегантный! Я добавлю это (с надлежащей атрибуцией) на соответствующую страницу в вики Qt, чтобы получить дополнительную видимость: https://wiki.qt.io/Delay_action_to_wait_for_user_interaction – waldyrious