用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

tkinter小窗口 3 ——输入框和显示框

2022-02-11 作者: mikeKil举报

[python]代码库

from tkinter import *
 
master = Tk()
 
frame = Frame(master)
frame.pack(padx=10,pady=10)
 
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()
 
'''
注意在这里我们不能使用entry控件的get()方法来获取输入的内容
因为当validate选项指定为key的时候,有任何的输入操作都会被拦截
到这个函数当中,也就是说先拦截,只有这个函数返回True,那么输入的内容
才会到变量里面去,也就是说我们使用get函数并无法get到数据,get函数在这个
函数之后才会有效,get函数得到的是变量的值。
所以只有使用%P来获得最新的输入框的内容
'''
def test(content):
     if content.isdigit():
          return True
     else:
          return False
#使用了特殊技能的函数需要使用register将其封装起来才可以
testCMD = master.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输入框是显示结果文本框,所以不允许修改里面的值。将state属性设置为state='readonly'只读
e3 = Entry(frame,width=10,textvariable=v3,state='readonly').grid(row=0,column=4)
 
def calc():
     result=int(v1.get())+int(v2.get())
     v3.set(str(result))
Button(frame,text='计算结果',command=calc).grid(row=1,column=2,padx=5)
 
mainloop()


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...