Импорт классов в Python - PullRequest
1 голос
/ 19 ноября 2010

У меня есть маленький модуль, который создает окно (program1). Я хотел бы импортировать это в другую мою программу на python (program2).

Как бы я сделал так, чтобы я мог сделать так, чтобы программа1 создавала окно, когда на него ссылается программа2?

Модуль, который я хотел бы импортировать (program1).

import Tkinter

class Class(Tkinter.Tk):

    def __init__(self, parent):

        Tkinter.Tk.__init__(self, parent)
        self.parent = parent

        self.Main()

    def Main(self):
        self.button= Tkinter.Button(self,text='hello')
        self.button.pack()



if __name__ == "__main__":
    app = Class(None)
    app.mainloop()

Редактировать

Как заставить программу 2 выполнить функцию self.Main (), которая есть в программе1?

Также, как мне перенести значения между программами?

Скажите в программе1 x = 'привет', как мне получить значение x в программе2?

1 Ответ

4 голосов
/ 19 ноября 2010

Если вы хотите запустить основной цикл из программы2, то:

import program1
app = program1.Class(None)
app.mainloop()

или, для уменьшения дублирования:

# program1.py
...
def main():
  app = class(None)
  app.mainloop()

if __name__ == "__main__":
  main()

и затем

# program2.py
import program1
program1.main()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...