2 sosodefficult SosoDefficult 于 2016.04.26 23:12 提问

Python新手的一个问题 1C

写一个登陆的界面,账号密码对了就会出现一个标签,但是e2['show']='*' ,这句话报错,错误的提示是TypeError: 'NoneType' object does not support item assignment

贴出代码如下

-*- coding:utf-8 -*-

from Tkinter import *

def reg():
s1=e1.get()
s2=e2.get()
t1=len(s1)
t2=len(s2)
if s1=="1111" and s2=="2222":
c["text"]="登陆成功"
else:
c["text"]="登陆失败"
e1.delete(0,t1)
e2.delete(0,t2)

root= Tk()
root.wm_title("登陆界面")
l=Label(root,text="用户名: ")
l.grid(row=0,column=0,sticky=W)

e1=Entry(root)
e1.grid(row=0,column=1,sticky=E)

l2=Label(root,text="密码: ").grid(row=1,column=0,sticky=W)
e2=Entry(root).grid(row=1,column=1,sticky=E)
e2["show"] = '*'

b=Button(root,text="登陆",command=reg).grid(row=2,column=1,sticky=E)

c=Label(root,text=" ")
c.grid(row=3)
root.mainloop()

7个回答

fk002008
fk002008   2016.04.27 10:20

e2=Entry(root).grid(row=1,column=1,sticky=E)
e2["show"] = '*'

这个e2是一个列表或者元组的对象吗
如果你的e2是一个元组对象,你这里写的估计就是得到了一个元组对象
那么元组对象的值是不能被重新赋值的。
比如你可以试验下 e = (1,2,3)
使用 e[0] = 4
你看看会报和你一样的错误信息的。

若有帮助还请采纳

SosoDefficult
SosoDefficult 我的版本是2.7的,所以在列表中没有show的属性,不过还是谢谢了
大约 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.04.26 23:19

e2["show"]
这个show在哪里写的。

CSDNXIAON
CSDNXIAON   2016.04.26 23:22

Python中的一个文件句柄问题
一个Python中的闭包问题
Python Django还是RoR,这是一个问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

wangxin6034
wangxin6034   2016.05.03 22:30

提示None Type,应该是你的e2赋值的时候,你的e2是None,而你上边的赋值应该是dict之类的,赋值前打印下e2看看

u010541307
u010541307   2016.05.04 02:29

e2应该是不可变对象的。。。

lis_12
lis_12   2016.09.29 11:18

你这样粘贴代码没诚意啊- -!

 #-*- coding:utf-8 -*-
from Tkinter import *
def reg():
    s1=e1.get()
    s2=e2.get()
    t1=len(s1)
    t2=len(s2)
    if s1=="1111" and s2=="2222":
        c["text"]="登陆成功"
    else:
        c["text"]="登陆失败"
    e1.delete(0,t1)
    e2.delete(0,t2)

root= Tk()
root.wm_title("登陆界面")
l=Label(root,text="用户名: ")
l.grid(row=0,column=0,sticky=W)
e1=Entry(root)
e1.grid(row=0,column=1,sticky=E)
l2=Label(root,text="密码: ").grid(row=1,column=0,sticky=W)
e2=Entry(root)
e2["show"] = '*'
e2.grid(row=1,column=1,sticky=E)
b=Button(root,text="登陆",command=reg).grid(row=2,column=1,sticky=E)
c=Label(root,text=" ")
c.grid(row=3)
root.mainloop()

e2=Entry(root).grid(row=1,column=1,sticky=E)
e2["show"] = '*'
这里错了,show属性是Entry()对象的,而不是Entry().grid()对象的

lis_12
lis_12   2016.09.29 11:22

亲测有效,望采纳- -

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
python中新手应注意的问题和技巧
1.pirnt不换行输出 两个连续的print()函数输出内容一般会分行显示,即调用print()函数后换行并结束当前行,那么如果要让两个print()函数打印在一行内该怎么做呢? 我们知道,print()中有两个参数sep和end参数。其中print()函数中的逗号默认用空格代替,末尾默认加上换行符。其中sep是代替分隔符,end是代替末尾的换行符。例如: [pyt
python的数据爬取问题
python有自己内置的库和许多第三方放入库,因此可以写很少的代码,实现更多的功能; 在python2.7.6版本以后都有pip和相关的架包不需要自己导入 如urllib或者urllib2等等,不过在python3后合并在一起了; 1.urllib和urllib2都是Python的一个获取url(Uniform Resource Locators,统一资源定址器)的模块。它用urlopen
Python 新手练习题 (一)
请你编写一个程序来帮助Coco计算月供款。已知汽车的价格、月利率以及贷款年限。计算月供款的公式为: 月供=iP/(1-(1+i)^-n) 其中,P为本金(借款数目),i为月利率(年利率的1/12),n为还款月数 要求:输入汽车价格(单位:元)、首付款(单位:元)、年利率和还款月数。 输出需要借款的数目以及月供款。
最适合新手上手的爬虫项目!requests的用法最全合集!
然后我们在知乎搜索框内输入需要搜索的内容,你将会看到网页后台与前台数据交互的变化,加载的数据以及数据请求的方式和参数。如图1.2:多了一个search的请求文件,我们点开和第一个对比发现,offset字段从0变成了10。我们复制一下这里的url在新开的标签页粘贴后,发现如图1.5:好了第一层我们差不多做好了,进入网站第二层,随意点击一个我们搜索产生的内容标题,跳转至一个新的页面,我们用同样的方法,...
推荐几个适合新人上手的Python项目
温馨提示:文末有福利人生苦短,我用Python!Python的前景光明不许要过多赘述了,那么作为新人如何快速上手这门语言呢?废话不多说,今天给大家分享三个极实用的Pyth...
一个新手学习python的过程中遇到的一些问题及解决方法
ubuntu12.04中,调用show()函数,没有显示图片。 解决办法:在终端安装一个ImageMagic。 sudo apt-get install imagemagick
一枚Python老鸟,给Python初学者的建议,希望你们少走弯路!
Python要学多久可以学会,达到精通呢?任何知识都是基础入门比较快,达到通晓的程序是需求时日的,这是一个逐渐激烈的进程。通晓任何一门编程语言,都需求通过大量的实践来积累经验,解决遇到的各种疑难问题,看别人的源码,分享自己的分码的这个进程,才能够通晓Python的方方面面。一个对Python程序能算的上通晓的程序员,对相同一个问题,他知道很多种解决问题的方法,并能从中挑选最有功率的方法!这里还是要...
初学者学习python
现在的python 分为两个版本2.7以及3.3,为了兼 容大多数的应用程序选择使用2.7版本 进入python 官网下载2.7.3版本,在命令提示符检查是否安装好python,然后配置环境变量,进入path,点击编辑选择修改加入python的安装路径即可 为了能够保存python 写好的程序,下载notepad++,不能使用记事本和word写python,因为系统无法编译
记基于python3的新手爬虫的一次应用————给自己
写这个脚本的起因是为了在补实习日志偷懒上才有的,用到的技术也就一个get提交和post提交,但因为本人还是个新手,所以写出来时还是很开心的。【可惜学校没多久就学聪明了,这个也就废了】from http.cookiejar import CookieJar from urllib.request import build_opener, HTTPCookieProcessor, Request
分享一个高手的python学习随笔。对于入门的新手有很大帮助
黑体表示章节, 下划线表示可以直接在原文对应位置查到的专有技术名词。   原书配套答案请到http://www.hzbook.com/Books/4572.html下载,简单注册即可。 第三章 如何运行程序   import进行模块导入只能运行一次,多次运行需使用reload。   模块往往是变量名的封装,被认为是命名空间。例如: #myfile.py title = "test"