Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » GUI
  • » Tkinter. Зависает графический интерфейс [RSS Feed]

#1 Янв. 14, 2014 17:45:10

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

Пожалуйста, но только проблему Вы не решили. Просто приделали костыль. Очередь здесь и нафиг не нужна

P.S. Вы не прочитали, что я Вам написал. Нужно запускать отдельный поток для скачивания и отвязывать обработку результата этого потока в отдельный цикл с инструкцией .after()… Код я уже приводить не буду - не вижу смысла.

Офлайн

#2 Янв. 19, 2014 15:32:52

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Tkinter. Зависает графический интерфейс

Всё-таки осмелюсь заявить, что циклический вызов функции, организованный методом .after рекурсией называть неверно, там другое. Нечто подобное есть на симбиан, частенько выручало.

Офлайн

#3 Янв. 20, 2014 15:51:19

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

Все уже давно в курсе. Обсуждали это в старых темах…
Да, это не рекурсия, так как не существует лимита.
В старых темах sp3 даже код приводил, который он по tck/tk расскопал.
Хотя для новичков это выглядит как рекурсия (код соответствует). Поэтому рекурсией и называют.

Офлайн

#4 Янв. 20, 2014 15:59:13

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Tkinter. Зависает графический интерфейс

Да не, я и мысли не допускал, что Вы не в курсе, просто Вы так написали, а он запомнит as is.
И, кстати, выглядет не как рекурсия, хотя может это для меня очевидно, а кто только столкнулся- нет…

Отредактировано dimy44 (Янв. 20, 2014 16:03:18)

Офлайн

#5 Янв. 20, 2014 22:05:10

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

Офлайн

#6 Янв. 15, 2017 19:56:46

Rudium
Зарегистрирован: 2015-12-06
Сообщения: 114
Репутация: +  1  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

У меня процесс обработки фото, идущий около 40 секунд в отдельном потоке, через метод configure() обновляет Label новыми сообщениями без after()

Офлайн

#7 Янв. 15, 2017 20:18:09

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

У Вас коллебк повешен, который при изменении состояния дегается на уровне конвертера фотографии. Это разные вещи. Это во-первых. А во-вторых, обрабатывать фото, в отдельном потоке все же не стоит. Лучше взять RQ или Celery…

Офлайн

#8 Янв. 15, 2017 20:21:07

Rudium
Зарегистрирован: 2015-12-06
Сообщения: 114
Репутация: +  1  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

Под Windows RQ работать не будет, так как полагается на механизм fork для порождения процессов, выполняющих задачи.

Офлайн

#9 Янв. 15, 2017 20:23:51

4kpt_IV
Зарегистрирован: 2016-01-08
Сообщения: 999
Репутация: +  49  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

Rudium
Откуда мне было знать, что у Вас windows? На этом говне многое что работать не будет Четверть из советов, которые я дал можно выкинуть, так как на винде они работать не будут. Нужно смотреть другие таск менеджеры. Можно и свой на коленке написать за день, если уж очень приспичит…

Офлайн

#10 Янв. 15, 2017 20:25:42

Rudium
Зарегистрирован: 2015-12-06
Сообщения: 114
Репутация: +  1  -
Профиль   Отправить e-mail  

Tkinter. Зависает графический интерфейс

Я считаю что и linux и windows говно. Но мне пришлось поставить windows, потому что у пользователей программы тоже будет windows скорее всего. Зачем мне писать на коленке если не спичит? Работает. Какие приемущества от этих менеджеров? Программа простая. Задача длительная по времени - одна. Нагрузка - 1 пользователь. Повторно запустить задачу до ее окончания невозможно. Стоит замок.

Отредактировано Rudium (Янв. 15, 2017 20:49:31)

Офлайн

  • Начало
  • » GUI
  • » Tkinter. Зависает графический интерфейс[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version