鱼C论坛

 找回密码
 立即注册
查看: 865|回复: 3

关于Tkinter的Entry不能为空

[复制链接]
发表于 2020-4-20 21:39:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
RT,就是一开始是空的,然后第一次输入完成之后想把第一次输入的数值删除掉,重新输入第二次数值,可是发现第一次的数值只能删除剩下 最后一位数,不能全部删除,请问这是什么问题?

from tkinter import *

master = Tk()

frame = Frame(master)
frame.pack(padx=10,pady=10)

v1 = StringVar()
v2 = StringVar()
v3 = StringVar()

def test(content):
    return content.isdigit() #用这个函数测试输入是否为数字,返回True或者False

testCMD = master.register(test) #要作为测验的函数,需要经过这一步

e1 = Entry(frame, width=10,textvariable=v1,validate='key',\
           validatecommand=(testCMD,'%P')).grid(row=1,column=0)

v = IntVar()
v.set(1)

Radiobutton(frame,text='+',variable=v,value=1).grid(row=0,column=1)
Radiobutton(frame,text='-',variable=v,value=2).grid(row=1,column=1)
Radiobutton(frame,text='*',variable=v,value=3).grid(row=2,column=1)
Radiobutton(frame,text='/',variable=v,value=4).grid(row=3,column=1)


e2 = Entry(frame, width=10,textvariable=v2,validate='key',\
           validatecommand=(testCMD,'%P')).grid(row=1,column=2)


Label(frame,text='=').grid(row=1,column=3)

e3 = Entry(frame,width=10,textvariable=v3,state='readonly').grid(row=1,column=4)

def calc():
    A = v.get()
    if A == 1:
        result = int(v1.get()) + int(v2.get())
        v3.set(str(result))
    elif A == 2:
        result = int(v1.get()) - int(v2.get())
        v3.set(str(result))
    elif A == 3:
        result = int(v1.get()) * int(v2.get())
        v3.set(str(result))
    elif A == 4:
        try:
            result = float(v1.get()) / float(v2.get())
            v3.set(str(result))
        except:
            v3.set('被除数不能为0')
            

Button(frame, text='开始计算',command=calc).grid(row=5,column=2,pady=5)

mainloop()


这是源代码,请教各位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-21 10:45:27 | 显示全部楼层
可以用delete
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-22 20:32:21 | 显示全部楼层

emmmm能不能就是在输入框就可以完全删除的办法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-22 20:40:46 | 显示全部楼层
Star1111 发表于 2020-4-22 20:32
emmmm能不能就是在输入框就可以完全删除的办法

这个就是在输入框干掉啊(关键是我一直不太会用delete,基本上我每次使用都出故障)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 19:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表