【发布时间】:2018-03-08 08:34:55
【问题描述】:
这是我正在尝试编写的一个简单的测试脚本,它将帮助我自学 tkinter...
from tkinter import *
def hello():
print("U pressed it lol")
global window1, window2
window2 = None
window1 = None
def setWindow(windowEnter):
global window
window = windowEnter
window = Tk()
window.attributes("-fullscreen", True)
def newScreen(newScreen, screenToDelete):
setWindow(newScreen)
print("New Window Created")
screenToDelete.destroy()
print("He ded lol")
setWindow(window1)
def setStuff():
button = Button(window1, text="hey", command=hello)
label = Label(window1, text="YoYoYo My dude")
button2 = Button(window1, text="Next Page", command = lambda: newScreen(window2, window1))
button.pack()
label.pack()
button2.pack()
setStuff()
当我运行这段代码时它返回一个错误?
File "C:\Users\026341\Desktop\test.py", line 19, in newScreen
screenToDelete.destroy()
AttributeError: 'NoneType' object has no attribute 'destroy'
为什么这不起作用以及如何解决?
在此先感谢 :) (顺便说一句,我使用的是 python 3.6)
【问题讨论】:
-
这是您的完整代码吗?您从未将窗口 1 和窗口 2 设置为
None以外的任何内容(我忽略了什么吗?)这可能是问题 -
@FlyingTeller 是的,这是完整的代码......我将如何设置它们同时仍然允许 setWindow() 等函数工作?
-
等一下,写一个更详细的答案
-
这个错误从字面上回答了标题中的问题。
标签: python python-3.x tkinter destroy