当前位置: 首页 > 面试题库 >

NoneType错误self.widget.insert

那弘
2023-03-14
问题内容

我试图在我的应用程序中有一个输出框架。当我运行它时,出现错误:NoneType object has no attribute inserton
self.widget.insert('end', string)。任何帮助,将不胜感激。

import Tkinter as tk
import sys

class Test(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        toolbar = tk.Frame(self).grid()
        tk.Button(self, text="print to stdout", command=self.print_stdout).grid()

        self.text= tk.Text(self).grid()
        sys.stdout= Output(self.text)


    def print_stdout(self):
        print "Hello"
        print "This is test"

class Output(object):
    def __init__(self, widget):
        self.widget = widget

    def write(self,string):
        self.widget.insert('end', string)

app = Test()
app.mainloop()

问题答案:

您的问题发生在此行上:

self.text= tk.Text(self).grid()

grid没有明确显示return任何内容,因此这是有效设置self.text = None。然后将此值传递给,Output.__init__并最终在中访问write

而是将其分为两个步骤:

 self.text = tk.Text(self)
 self.text.grid()


 类似资料:
  • 我遇到了这个错误,它不允许我在表单中保存信息。初始数据在表单中显示良好,但保存起来很困难。希望有人能帮忙,我真的被困了 追踪: 内部 41 中的文件“C:\程序文件\Python35\lib\site-packages\django\core\处理程序\exception.py”。响应 = get_response(请求) 文件"C:\Program Files\Python35\lib\site

  • 我是硒网络驱动程序的新手,目前使用Python来编写脚本。现在我想应用参数,我使用Excel应用了数据驱动方法。基本上只有第一个循环ok,它可以读取和写入第一行的数据,但之后不能。 首先,我在Python文件中创建它(作为新模块): 接下来,我编写以下代码以在登录和注销过程中包含数据驱动测试: 我得到了错误属性错误:“NoneType”对象没有属性“send_keys”,所以我认为包括等待/睡眠可

  • 我有一个自动编码器,我尝试使用lambda在中间层中使用输入层的特定值,生成一个新的张量并发送到下一层,但它会产生以下错误: 回溯(最近一次呼叫最后一次): File"",第99行,在Model=Model(输入=[图像,wtm],输出=解码)中 文件“D:\software\Anaconda3\envs\py36\lib\site packages\keras\legacy\interfaces

  • 我是一个新的程序员,我一直在学习如何创建一个不和谐机器人的教程,下面的代码实际上是直接从教程中复制出来的,我已经创建了一个. env文件来存储我的AuthToken。每次我运行代码,我得到的错误低于上述代码。有什么提示吗?提前感谢! 代码: 错误:

  • 当我运行它时,我得到一个x​​一段时间后的错误。我知道我犯了这个错误,因为它在这一页的末尾。如何在没有收到此错误的情况下停止程序? 我试过了 或 我的代码是: 打印(newsContents.text)属性错误:“非类型”对象没有属性“文本”

  • 我正在使用Python开发一个Discord机器人。并获取以下错误(AttributeError:'NoneType'对象没有属性'strip')。这是我的密码。