【发布时间】:2018-04-08 20:41:28
【问题描述】:
我目前正在编写一个越来越长的 Python Tkinter 代码。我想为我的 GUI 中的某些框架使用多个类。
下面的代码是我正在尝试做的一个示例。基本上制作一个有框架的类,并且框架使用另一个类作为父类。
但是当我运行代码时,我得到这个错误“'MainProgram' object has no attribute 'FirstFrame'”
有什么解决办法吗?我尝试搜索,但没有成功找到类似的内容。
import tkinter as tk
from tkinter import ttk
class MainProgram():
def __init__(self):
self.mainwin = tk.Tk()
self.FirstFrame()
class FirstFrame():
def __init__(self):
self.firstframe = ttk.LabelFrame(self.MainProgram.mainwin, text="hi")
self.firstframe.grid(column=0, row=0)
if __name__ == "__main__":
main = MainProgram()
main.mainwin.mainloop
【问题讨论】:
-
FirstFrame 不是您的 MainProgram 类的方法,这就是您收到该错误的原因。