#python #wxpython
#python #wxpython
Вопрос:
Я создаю графический интерфейс и использую шаблон MVC для его создания. При этом я использую pubsub для управления событиями между серверной частью и внешним интерфейсом.
Как я могу заставить pubsub перемещаться по файлам?
Мои файлы находятся по ссылке прямо здесь. (Это довольно длинные файлы, иначе мой пост был бы огромным.)
Например:
В строке 31 из gui_btn_panel.py программа подписывается на ENABLE NEXT
почтовый ящик ( pub.subscribe(self.next_step,"ENABLE NEXT")
).
Затем в строке 232 из gui_step_1.py программа публикует сообщение с тегом ENABLE NEXT
( pub.SendMessage("ENABLE NEXT")
).
Я хочу gui_btn_panel.py
перехватить это сообщение, но, похоже, этого не происходит.
Если я что-то перепутал, дайте мне знать! Надеюсь, кто-нибудь сможет мне с этим помочь.
Ответ №1:
Это странно. Я использую pubsub, который включен в сам wxPython, и у меня никогда не было этой проблемы, но я делаю это немного по-другому:http://www.blog.pythonlibrary.org/2010/06/27/wxpython-and-pubsub-a-simple-tutorial
Надеюсь, это поможет вам. Если нет, вы можете попробовать опубликовать в официальном списке рассылки wxPython. Я знаю, что автор pubsub есть там, и он отвечает на вопросы там.
Комментарии:
1. Но вы видели, в чем моя проблема, верно? Значит, это не моя реальная программа, которая выглядит сломанной?
2. Это выглядит правильно, если вы следуете инструкциям на веб-сайте pubsub, да. На самом деле, вы, кажется, делаете это точно так же.
3. НАКОНЕЦ-то понял! Мне просто нужно было добавить
from pubsub import setuparg1
в gui_main.py . Все работает отлично, благодаря указаниям Оливера.