Kivy GUI зависает через 10 секундPython

Программы на Python
Ответить
Anonymous
 Kivy GUI зависает через 10 секунд

Сообщение Anonymous »

У меня есть приложение, которое собирает сигналы Wi-Fi и Bluetooth и отображает их на метке в RecycleView. При нажатии кнопки «Начать сканирование» мы собираем данные с устройства Android и обновляем Label.text. Затем сканирование выполняется с интервалом в 10 секунд, графический интерфейс на короткое время замирает, к метке добавляются новые данные, и работа продолжается.

Код: Выделить всё

def start_scanning(self, instance):
self.scan_network()
self.scan_event = Clock.schedule_interval(self.scan_network, 10)
Self.scan_event позволяет нам остановить или .отменить сканирование сети.
Насколько я понимаю Kivy, GUI находится в MainThread. Потому что наше сканирование происходит в MainThread, что приводит к зависанию графического интерфейса, верно? Поэтому нам нужно, чтобы наши сканирования выполнялись в потоке, хотя когда я пытаюсь выполнить сканирование в другом потоке, это, похоже, не работает.
Я почти уверен. проблема в Clock.schedule_interval. Мы могли бы постоянно обновлять метку в другом потоке, но на данный момент предпочтительным является интервал. Как я могу разморозить графический интерфейс?
Дайте мне знать, если потребуется более воспроизводимый пример.

Подробнее здесь: https://stackoverflow.com/questions/791 ... s-interval
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»