Поймать GTK случайно мульти-ввода на виджет входа - PullRequest
0 голосов
/ 05 марта 2020

Я строю GUI через Python 3 и GTK для Ubuntu. Я установил виджет ввода, который испускает сигнал и метод обратного вызова, который затем будет загружать некоторые данные из базы данных и распечатывать их. Теперь этот поиск может занять несколько секунд. GUI зависает, и это нормально для меня, потому что пользователь не должен больше ничего делать в промежутке между ними. Теперь, когда пользователь случайно нажимает клавишу ввода два или более раз, метод обратного вызова будет вызываться более одного раза. Таким образом, данные печатаются слишком часто. Как я могу остановить / удалить те сигналы, которые находятся в очереди, пока выполняется обратный вызов первых сигналов?

Я думал о проверке времени и просто возвращался в метод обратного вызова, если разница во времени между вызовами метода слишком мала , Это может на самом деле работать, но я хочу, чтобы пользователь вводил новые данные с помощью сканера штрих-кода. Но так как у меня есть эта проблема в другом проекте, я хотел бы найти более общее решение.

...