Как управлять кадром из другого кадра? - PullRequest
1 голос
/ 10 октября 2010

Я пишу небольшое приложение, которое имеет 2 отдельных фрейма.

Первый кадр похож на контроллер видеопроигрывателя. Он имеет кнопки Play / Stop / Pause и т.д. Он называется controller.py.

Второй фрейм содержит рендеринг OpenGL и многое внутри него, но все заключено в класс Frame (), как указано выше. Он называется model.py.

Я дошел до финальной части, где мне нужно "объединить" этих двоих вместе. Кто-нибудь знает, как управлять кадром (model.py) из другого кадра (controller.py)?

Я хотел бы сделать что-то вроде проигрывателя фильмов, когда вы нажимаете кнопку воспроизведения, появляется новое окно и воспроизводится до тех пор, пока не будет нажата кнопка остановки.

Если вы знаете, как, пожалуйста, дайте мне знать. (Просто скажи мне вообще не надо конкретно).

Ответы [ 2 ]

4 голосов
/ 10 октября 2010

Это не так уж и много, вы создаете экземпляр класса вашей модели в вашем контроллере и вызываете его методы. Так, например, когда вы нажимаете кнопку остановки моделей, ее обработчик вызывает соответствующий метод класса вашей модели, чтобы остановить воспроизведение.

Если вы хотите, чтобы ваши кадры были несколько разъединены, вы можете использовать pubsub и просто настроить некоторые слушатели в вашей модели для сообщений от вашего контроллера.

Вот учебник, который я только что нашел по взаимодействию между двумя кадрами с помощью pubsub, это не совсем то, что вы хотите сделать, но этого должно быть достаточно, чтобы вы начали в правильном направлении, если вы решите использовать PubSub.

1 голос
/ 11 октября 2010

Я бы определенно использовал PubSub, так как это, пожалуй, самый чистый способ сделать это.Вы также можете сделать это с помощью wx.PostEvent или использовать модальную рамку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...