Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >AttributeError:“NoneType”对象没有特性“”_root“”

AttributeError:“NoneType”对象没有特性“”_root“”
EN

Stack Overflow用户
提问于 2017-02-07 04:15:02
回答 1查看 21.1K关注 0票数 6

我对Python3完全陌生,只是在YouTube上做了一些简单的练习。

https://www.youtube.com/watch?v=nefopNkZmB4&index=3&list=PL6gx4Cwl9DGAcbMi1sH6oAMk4JHw91mC_

这是我的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    from tkinter import *


def iCalc(source, side):
    storeObj = Frame(source, borderwidth=4, bd=4, bg="powder blue")
    storeObj.pack(side=side, expand=YES, fill=BOTH)
    return storeObj


def button(source, side, text, command=None):
    storeObj = Button(source, text=text, command=command)
    storeObj.pack(side=side, expand=YES, fill=BOTH)
    return storeObj


class app(Frame):

    def __init__(self):
        Frame.__init__(self)
        self.option_add('*Font', 'arial 20 bold')
        self.pack(expand=YES, fill=BOTH)
        self.master.title('Calculator')

    display = StringVar()
    Entry(self, relief=RIDGE, textvariable=display, justify='right', bd=30, bg="powder blue").pack(side=TOP, expand=YES,
                                                                                                   fill=BOTH)
for clearBut in (["CE"], ["C"]):
    erase = iCalc(self, TOP)
for ichar in clearBut:
    button(erase, LEFT, ichar,
           lambda storeObj=display, q=ichar: storeObj.set(''))

for NumBut in ("789/", "456*", "123-", "0.+"):
    FunctionNum = iCalc(self, TOP)
for iEquals in NumBut:
    button(FunctionNum, LEFT, iEquals,
           lambda storeObj=display, q=iEquals: storeObj.set(storeObj.get() + q))
EqualsButton = iCalc(self, TOP)
for iEquals in '=':
    if iEquals in "=":
        btniEquals = button(EqualsButton, LEFT, iEquals)
        btniEquals.bind('<ButtonRelease-1>',
                        lambda e, s=self, storeObj=display: s.calc(storeObj), '+')
else:
    btniEquals = button(EqualsButton, LEFT, iEquals,
                        lambda storeObj=display, s=' %s ' % iEquals: storeObj.set(storeObj.get() + s))


def calc(self, display):
    try:
        display.set(eval(display.get()))
    except:
        display.set("ERROR")

if __name__ == '__main__':
    app().mainloop()

我收到错误消息:

我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-07 13:23:33

由于缩进的原因,display = StringVar()不在方法中。这意味着它是在第一次定义类时执行的。只有在创建根窗口之后,才能创建StringVar实例。

您需要为该行及其下面的行添加更多级别的缩进。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42081609

复制
相关文章
AttributeError: NoneType object has no attribute‘’
AttributeError: ‘NoneType’ object has no attribute ‘text’
狼啸风云
2020/10/09
3.5K0
AttributeError: 'NoneType' object has no attribute 'append'
附加列表元素时发生的错误,去掉赋值,把第四十行改为re_bb_area.append(proportion)
狼啸风云
2019/05/15
2.7K0
AttributeError: 'NoneType' object has no attribute 'append'
解决AttributeError: ‘NoneType‘ object has no attribute ‘array_interface‘
在使用NumPy进行数组计算时,有时会遇到"AttributeError: 'NoneType' object has no attribute 'array_interface'"的错误。这个错误通常是由于数组对象为None引起的。在本篇文章中,我们将介绍这个错误的原因,并提供解决方法。
大盘鸡拌面
2023/10/14
1.1K0
Unable to find chromedriver...AttributeError: ‘NoneType‘ object has no attribute ‘get‘
Unable to find chromedriver…AttributeError: ‘NoneType’ object has no attribute ‘get’
谙忆
2021/01/19
7860
pip 18.0 install fails with AttributeError: 'NoneType' object has no attribute 'bytes'
是由pycharm创建venv的方式造成的 python -m pip install -U --force-reinstall pip
马哥Python
2019/08/13
5110
pyinstaller打包报错AttributeError: 'NoneType' object has no attribute 'get_filename'
ModuleNotFoundError: No module named 'text_unidecode'
大大刺猬
2022/03/30
2.7K2
理解Python中的NoneType对象
在C、Java等类型的语言中,都有null,它常常被定义为与0等效。但是,在Python中并非如此。Python中用关键词None表征null对象,它并不是0,它是Python中的第一类对象。
老齐
2020/06/23
13.4K0
解决方法:opencv读取中文路径图像报错 | AttributeError: ‘NoneType‘ object has no attribute ‘astype‘
在使用开源项目 blind_watermark 给图像添加数字盲水印时,传入图像路径中文时,会出现以上报错。分析它的源码:
叶庭云
2022/05/09
8980
解决方法:opencv读取中文路径图像报错 | AttributeError: ‘NoneType‘ object has no attribute ‘astype‘
django’ 前端 self.status.split(‘ ‘,1)[0], self.bytes_sent AttributeError: ‘NoneType’ object has no att
form 表单 post之后 ,重新定向当前页面的get请求 这是因为,form表单提交的时候,按钮在form表单里面 或者检查你的cookie 是否存入了中文,如果有中文也会概率导致这个错误
kirin
2020/11/11
6760
Python正则表达式
正则表达式为高级的文本模式匹配、抽取、与/或文本形式的搜索和替换功能提供了基础。通过标准库中的re模块来支持正则表达式。 常见的正则表达式符号和特殊字符 表示法 描述 正则表达式示例 符号 re1|re2 匹配正则表达式re1或者re2 foo|bat . 匹配任何字符(除了\n之外) b.b ^ 匹配字符串的起始部分 ^Dear $ 匹配字符串的终止部分 /bin/*sh$ * 匹配0次或者多次前面出现的正则表达式 [A-Za-z0-9]* + 匹配1次或者多次前
用户1173509
2018/01/17
1.6K0
Linux没有root权限如何安装软件
我们有时候,需要在linux上安装软件,但又没有root权限,就只能用源码安装了。有些小伙伴只会用root权限的apt install,这里就以安装tmux演示一下。小伙伴们请坐稳扶好,准备发车了。
用户10002156
2023/08/07
6070
Linux没有root权限如何安装软件
用ImageGrab.grabclipboard()获取的图片时出现错误AttributeError: 'NoneType' object has no attribute 'save'解决方案
今天使用Python图像处理库ImageGrab,在调用grabclipboard方法获取到剪切板上图片的时候报了这个让我懵圈了的异常~~
大数据梦想家
2021/01/26
2.2K0
Pywinauto 应用后端类型选择错误:AttributeError: 'NoneType' object has no attribute 'backend'. 原因及解决办法
AttributeError: 'NoneType' object has no attribute 'backend'. 错误原因: 选择的应用后端类型不对。
小蓝枣
2020/09/23
1.1K0
AttributeError: 'dic
这是因为换成了Python3.6.5,Python3.6.5已经删除了has_key()方法,改成了下面的写法:
py3study
2020/01/19
6130
jackson学习之四:WRAP_ROOT_VALUE(root对象)
本文是《jackson学习》系列的第四篇,前面学习了常用API,可以执行最基本的序列化和反序列化操作,接下来要学习的就是jackson强大的注解能力,本篇要学的是root对象特性,主要内容如下:
程序员欣宸
2022/05/06
5590
jackson学习之四:WRAP_ROOT_VALUE(root对象)
linux 没有root权限的用户安装GCC[通俗易懂]
在Linux下,如果有root权限的话,使用sudo apt install 就可以很方便的安装软件,而且同时也会帮你把一些依赖文件也给编译安装好。但是如果不是用的自己的机器,一般情况下是没有root 权限的。所以就需要自己动手下载tar文件,解压安装。在安装中遇到的最大的问题是依赖的问题。
全栈程序员站长
2022/09/01
12.8K0
linux 没有root权限的用户安装GCC[通俗易懂]
Python 正则表达式(匹配单个字符) - 寻找香烟smoke的故事
可以简单地看出,re模块的这个match方法只能匹配出smoke开头的内容,不然就匹配不出来。
Devops海洋的渔夫
2019/05/31
1.2K0
Python 正则表达式(匹配多个字符)- 寻找香烟smoke的故事
前面篇章讲到了如何匹配单个字符,但是却不能完美解决胖子老板提出的这个问题。那么当然就要继续增加技能点,来解决这个问题啦。
Devops海洋的渔夫
2019/05/31
4.1K0
Java没有对象编程
当初学Java,学面向对象真是痛苦呀,等到学到线程和锁,我是彻底牺牲了,后来......后来......经日月潭主周董指点迷津,给我唱了一首神曲,从此,Java学会了,工作找到了,升职加薪,赢取白富美
范蠡
2018/04/04
7990
Python编程常见出错信息及原因分析(2)
(1)缩进错误 演示代码: >>> if 5>3: print('5>3') SyntaxError: expected an indented block >>> for i in range(5): print(i) SyntaxError: expected an indented block 错误原因分析与解决方案: Python代码对缩进的要求非常严格,代码缩进层级决定了代码的所属关系。Python初学者最容易遇到的错误应该就是缩进错误,遇到这样的错误时,要仔细检查代码中的缩进是否与预定义的功能逻
Python小屋屋主
2018/04/16
3.3K0

相似问题

AttributeError:“NoneType”对象没有特性

20

AttributeError:“NoneType”对象没有特性“”_columns“”

22

AttributeError:“NoneType”对象没有特性“”DoCmd“”

10

AttributeError:“NoneType”对象没有特性“”SerializeToString“”

189

AttributeError:“NoneType”对象没有特性“”connectSSL“”

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文