gpt4 book ai didi

python - “窗口”对象没有属性 '_tclCommands'

转载 作者:行者123 更新时间:2023-12-03 09:03:10 24 4
gpt4 key购买 nike

我是Python的新手,正在尝试为需要清除屏幕或创建新窗口的类编写代码,尽管我曾尝试过但都失败了。但是除此之外,我尝试用不同的修改来运行此代码,并且几乎所有时间我都收到错误:“Window”对象没有属性“_tclCommands”。这个错误是什么意思?与此相关的另一件事是,我无法专门关闭窗口,而是需要退出IDLE,错误提示:“Window”对象没有属性“destroy”。我该怎么做才能解决此问题?

from tkinter import *
import time
import os

background_color = 'SlateGray'
text_background_color = 'DarkViolet'

class Window:
def __init__(self, master):
Frame.__init__(self, master)
self.grid()
self.create_widgets()
self.configure(background = background_color)

def create_widgets(self):
self.button = Button(self, text = "Clear", command = clear_screen())
self.button.grid(row = 1, column = 1)

def clear_screen(self):
self.Frame.grid_forget()



root = Tk()
root.configure(background = background_color)
root.title("Guess Your Birthday")
app = Window(root)
root.mainloop()

最佳答案

您可能想从Frame继承,因为您的类缺少Tkinter小部件具有的一些常用方法:

    self.grid()
self.create_widgets()
self.configure(background = background_color)

尚未在您的类(class)中实现 grid()configure(),对吗?因此存在问题所在, 您需要将Tkinter小部件类子类化,以拥有所有这些不错的方法:
    class Window(Frame):

关于python - “窗口”对象没有属性 '_tclCommands',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26889389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com