【发布时间】:2019-05-22 11:32:36
【问题描述】:
我正在尝试执行以下操作:
- 使用“文件”菜单创建 Tkinter 应用程序。
- 文件菜单有 2 个选项,添加和查看。
- 添加选项会添加一个框架,然后在框架中添加一个标签小部件(标签 1)。
- 如果我随后从文件菜单中选择“查看”选项,它应该会打印出 Frame 小部件是否已经存在。
以下是我的尝试,但我收到错误
AttributeError: 'Test' 对象没有属性 'tk'
当我选择“查看”选项时,有人可以帮忙指出我在这里缺少什么吗?
from tkinter import Tk, Menu, Label, Frame
class Test():
def __init__(self):
self.gui = Tk()
self.gui.geometry("600x400")
menu = Menu(self.gui)
new_item1 = Menu(menu)
menu.add_cascade(label='File', menu=new_item1)
new_item1.add_command(label='Add', command=self.addlbl)
new_item1.add_command(label='View', command=self.viewlbl)
self.gui.config(menu=menu)
self.gui.mainloop()
def addlbl(self):
f=Frame()
f.pack()
lbl1 = Label(f, text="Label 1").grid(row=0, column=0)
def viewlbl(self):
print(Frame.winfo_exists(self))
T=Test()
【问题讨论】:
-
你在问
self是否是一个框架以及它是否存在。你为什么这样做?self显然不是框架,它是Test的一个实例。
标签: python-3.x tkinter