在Python中导入类

1 投票
1 回答
1167 浏览
提问于 2025-04-16 07:18

我有一个小模块,它可以创建一个窗口(程序1)。我想把这个模块导入到我的另一个Python程序(程序2)里。

我该怎么做才能让程序2调用程序1时,程序1能够创建一个窗口呢?

我想导入的模块是程序1。

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调用程序1里的self.Main()这个功能呢?

还有,我该如何在不同的程序之间传递值呢?

比如在程序1中x = 'hello',我怎么在程序2中获取x的值呢?

1 个回答

4

如果你想从程序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()

撰写回答