|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
如上图所示,是在编写一个小甲鱼老师视频中讲的 计算器的程序。
现在有下面2个问题:
(1)现在的程序是,除数字外的其他字符串不能输入到对话框,我想改为允许输入小数(实际上这也是计算器的要求)比如2.5之类,def test(content)这个函数应该如何修改呢?
(2)文本框输入数字后,如果想要修改,是删不掉输入的第一位数字的,为什么?怎么修改呢?
谢谢各位大神了。
- from tkinter import *
- master = Tk()
- frame = LabelFrame(master,text='加法计算器',padx =5,pady = 5)
- frame.pack(padx=1,pady = 10)
- v1=StringVar()
- v2=StringVar()
- v3=StringVar()
- def test(content):
- return content.isdigit()
- testCMD = frame.register(test)
- e1 = Entry (frame,width=10,textvariable=v1,validate='key',validatecommand=(testCMD,'%P')).grid(row=0,column=0)
- Label(frame,text='+').grid(row=0,column=1)
- e2 = Entry (frame,width=10,textvariable=v2,validate='key',validatecommand=(testCMD,'%P')).grid(row=0,column=2)
- Label(frame,text='=').grid(row=0,column=3)
- e3 = Entry (frame,width=10,state='readonly',textvariable=v3).grid(row=0,column=4)
- def calc():
- result = float(v1.get())+float(v2.get())
- v3.set(result)
- Button(frame,width=10,text='计算结果',command=calc).grid(row=1,column=2,pady=10)
- mainloop()
复制代码
- def test(content):
- if len(content)==0: return True
- return content[-1]=='.' or content[-1].isdigit()
复制代码
|
|