Size: a a a

Сообщество Python Программистов

2021 May 30

in Сообщество Python Программистов
Как конфликтовать?
источник

in Сообщество Python Программистов
Хз, интерфейс удобный
источник

Д

Дмитрий in Сообщество Python Программистов
Опишу задачу подробнее чтобы было понятнее. У меня есть база данных. И есть кнопка сгенерировать записи. Я генерирую допустим 500 записей и в ходе добавления их в базу может произойти ошибка. Когда происходит ошибка я вывожу соответствующее сообщение, а через 5 секунд закрываю окно с ошибкой. Все эти 5 секонд пока показывается сообщения программа должна спать (не генерировать записи) как я понял из Гугла, таймер не поможет здесь. Как быть?
источник

P

Paper_doll_96 in Сообщество Python Программистов
На ум приходит пример из kivy, где отрисовкой виджетов противопоказано заниматься в пользовательских потоках. Для динамической отрисовки и/или по таймеру там есть своя асинхронная система. Подозреваю, что подобную аналогию можно провести и в qt
источник

¯

¯\_(ツ)_/¯  in Сообщество Python Программистов
при возникновении ошибки выведи диалоговое(или что такое) окно и остановии процес генерации)
источник

Д

Дмитрий in Сообщество Python Программистов
Как мне остановить процесс генерации не заморозив интерфейс?
источник

Д

Дмитрий in Сообщество Python Программистов
Если это один поток
источник

P

Paper_doll_96 in Сообщество Python Программистов
В общем я понял, что если в библиотеке для графики есть нечто свое(отличное от реализации в стандартной библиотеке) для реализации многозадачности, то лучше это и использовать
источник

¯

¯\_(ツ)_/¯  in Сообщество Python Программистов
Зачем спать хз, если цикл используй бреак, спецификацию подгони, или думаю можно yield'ом (но я код не видел и котелок  сейчас не варит)
источник

in Сообщество Python Программистов
В кути нельзя менять гуй в не главном потоке
источник

Д

Дмитрий in Сообщество Python Программистов
Я не хочу прерывать процесс, я хочу его приостановить
источник

Д

Дмитрий in Сообщество Python Программистов
Но есть я не могу выйти из цикла
источник

P

Paper_doll_96 in Сообщество Python Программистов
+
источник

K

KarmaBot in Сообщество Python Программистов
Вы увеличили карму 🍉 до 5069.11 (+13.42)
источник

Д

Дмитрий in Сообщество Python Программистов
И хочу чтобы сообщение через 5 с. закрылось и генерация продолжилась дальше
источник

in Сообщество Python Программистов
Бери из базы чанками
источник

in Сообщество Python Программистов
По 50 штук
источник

¯

¯\_(ツ)_/¯  in Сообщество Python Программистов
в случаи с кютэ все происходит в одном потоке(что логично), а использование потоков стандартного трединг(без взаимодействия с окном) по сути ничего не должно и не может мешать
источник

¯

¯\_(ツ)_/¯  in Сообщество Python Программистов
Если найду завтра одну, хрень проверю, там емнип стандартным тредингом изменяли стейт окна(но это не точно))
источник

in Сообщество Python Программистов
В цикле
try: 
  data = select...  offset n fetch only next 50 rows # какой-то такой синтаксис, загугли
   chunk_fetched_event.emit(data)
except... :
   fetch_error_event.emit(...)
источник