Пара вопросов, касающихся PyQt - PullRequest
1 голос
/ 11 ноября 2009

У меня есть пара вопросов.

У меня есть алгоритм, который генерирует пару картинок на python, которые должны отображаться в форме. Я использую PyGt для этого. Мой вопрос: где я должен запустить свой код? Прямо из инициализатора? В этом случае из того, что я проверял, форма не будет отображаться.

  • Должен ли я установить таймер в конструктор, который запускает мой алгоритм полсекунды спустя?
  • Запустит ли алгоритм замораживания моего форма делает невозможным видеть сама картинка? Я не против, что кнопки, флажки и т. д это вычисления, пока текущая картинка все еще видна.
  • Должен ли я использовать что-то вроде c # OnFormLoad ()? Если да, как я могу установить Это? Через connect ()?
  • Как работает многопоточность на python? Я слышал, но я не слишком уверен об этом, что было больно иметь дело с. Это? В C # это так же просто, как написание 4 строки. Я хотел бы использовать это если возможно, но если это будет трудно реализовать это я могу жить без него.

Спасибо

Ответы [ 2 ]

4 голосов
/ 11 ноября 2009

Возможно, вы захотите проверить пример Мандельброта .

По сути, идея состоит в том, чтобы использовать рабочий поток для выполнения тяжелых вычислений (я бы предложил QThread, чтобы упростить связь с основным потоком с помощью сигналов / слотов), а затем, как только работа будет выполнена, с помощью вычислил данные, и основной поток нарисовал его. Вы также можете визуализировать изображение в рабочем потоке, если хотите.

1 голос
/ 11 ноября 2009

Вы можете запустить алгоритм в отдельном потоке, поместив данные в очередь после завершения. Основной поток (GUI) будет периодически отбирать очередь и отображать данные при ее поступлении.

...