2014-10-29 5 views
0

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

from controller.mainController import MainController 

if __name__ == '__main__': 

    createGUI() 

def createGUI(): 
    """ 
    Create the GUI 
    """ 
    app = wx.App(False) 
    host = MainController(app) 
    app.MainLoop() 

def readTerminal(): 
    terminal = consola.Console() 
    try: 
     terminal.cmdloop("Hola!") 
     terminal.cmdloop("Fallo en la linea dos") 
    except KeyboardInterrupt: 
     terminal.do_quit(None) 

Я хочу вызвать readTerminal() функцию из другого модуля. Модули записываются в разные файлы. Что я могу сделать?

+0

Проблема заключается в том, что я не могу импортировать основной модуль в другие модули. –

+2

Я не могу понять вопрос. из этого файла import readTerminal должно быть все, что вам нужно, чтобы открыть функцию readTerminal(). Если вам нужно сначала вызвать createGUI(), я бы предположил, что вы хотите использовать многопоточность или многопроцессорность, так как вы хотите оценить код python во время основного интервала пользовательского интерфейса. Но я никогда не использовал wxpython, и ваш пост мне трудно понять. –

+0

@ iñigoDeLaFuente: почему вы не можете импортировать основной модуль? –

ответ

0

Если для основного модуля и других модулей необходимо позвонить readTerminal, то эту функцию следует поместить в общий модуль, из которого они могут оба импортироваться. Обычно у меня есть модуль контроллера или служебный модуль, где я могу хранить такие функции.

+0

Спасибо Mike.I думаю, что это лучший способ сделать это. С уважением –

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