所有文件都在“venv”目录下
我把代码分成五个不同的文件。一个“主”文件,收集所有其他文件并最终创建GUI。文件的前缀是“Note”,后跟适当的描述。你知道吗
我现在的问题是'NoteTopMenu'导入到主文件'NoteMainApp'。 代码是:
import NoteStatusbar as SB
import NoteTopMenu as TM
import NoteWidgets as NW
import tkinter as tk
class MainApp(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self,parent)
super().__init__(parent)
self.topbar = TM.TopMenu(parent)
self.widget = NW.FrontFrames(parent)
self.statusbar = SB.StatusBar(parent)
root = tk.Tk()
MainApp(root).pack(side="top", fill="both")
root.mainloop()
我收到错误消息:
Traceback (most recent call last):
File "C:/Users/PycharmProjects/MindNotez/NoteMainApp.py", line 2, in <module>
import NoteTopMenu as TM
File "C:\Users\PycharmProjects\MindNotez\NoteTopMenu.py", line 2, in <module>
import NoteMainApp as Main
File "C:\Users\PycharmProjects\MindNotez\NoteMainApp.py", line 29, in <module>
MainApp(root).pack(side="top", fill="both")
File "C:\Users\PycharmProjects\MindNotez\NoteMainApp.py", line 13, in __init__
self.topbar = TM.TopMenu(parent)
属性错误:模块“NoteTopMenu”没有属性“TopMenu”
NoteTop菜单中的代码是:
import NoteMainApp as Main
import NoteWidgets as NW
import tkinter as tk
class TopMenu(NW.FrontFrames):
"""Class creating the top menu bar."""
def __init__(self, master):
super().__init__(master)
# *******Top-Navigation Bar (tnb)**********
tnb = tk.Menu(master)
Main.root.config(menu=tnb)
....
如果我在主文件中将NoteTopMenu注释掉,代码就可以正常运行。我检查了拼写,但PyCharm也提供了代码完成。因此,PyCharm发现文件、模块、我的类和其他模块导入时没有问题。您知道为什么找不到文件/模块或无法导入?
完整的代码在GitHub上:MindNotez
非常感谢你的帮助!你知道吗
调用
NoteMainApp.py
导入NoteTopMenu.py
导入NoteMainApp.py
而不是继续重新导入NoteTopMenu.py
(因为导入已经开始)。导入NoteMainApp.py
然后继续解析文件的其余部分。此时模块NoteTopMenu
已定义,但它没有任何属性(因为您还没有时间定义它们)。。。因此出现了错误。你知道吗我建议
NoteTopMenu.py
不应该导入NoteMainApp.py
(如果两个文件都需要任何位,那么应该将它们移到另一个文件中,这两个文件都可以导入)相关问题 更多 >
编程相关推荐