2009-11-11 6 views
1

У меня есть пара вопросов.Несколько вопросов относительно PyQt

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

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

Благодаря

ответ

4

Возможно, вы захотите проверить Mandelbrot example.

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

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^