我举例来说我有2个文件,mother.py和child.py, child.py是在mother.py
中导入的模块mother.py中的代码是:
from tkinter import *
from tkinter import ttk
from modules.child import LoginWindow
root = Tk()
window = LoginWindow(root)
root.mainloop()
child.py中的代码是:
class LoginWindow:
def __init__(self, master):
self.master = master
self.content = ttk.Frame(self.master, padding=(20,30,20,30))
当我这样做时,它会给我一个错误,指出tkk
(在child.py的最后一行)没有定义但是在mother.py(第2行)中定义了为什么这不起作用什么是做这样的工作的最佳方式
答案 0 :(得分:1)
Python中的导入并不像" include"用其他语言。整个模块包含在以您导入的模块命名的对象中。所以,当你这样做时:
from modules.child import LoginWindow
整个模块包含在对象/变量LoginWindow
中。 "孩子"在这种情况下,模块无法看到导入它的模块中定义了哪些变量。
在您问题的示例中,您想要移动:
from tkinter import ttk
至child.py
。