python3 tkinter 获取输入字符串长度

 

python 3  获取输入字符长度

 

 

#-*- coding:utf-8 -*-
from tkinter import *
from tkinter import messagebox



def get_Tk():
    top = Tk()
    return top

#定义获取字符长度函数
def sum_test(baseNum):

    return len(baseNum)


def show_result(top,re_sum):
    #这里使用Toplevel(top) 是为了新开一个窗口 ,且显示计算结果,如果直接实例化一个窗口,则新窗口不显示结算结果。
    top_show = Toplevel(top)
    top_show.title("字符长度显示")
    top_show.geometry('300x240+810+420')


    # 显示长度
    Sums = Label(top_show, text='字符长度:')
    Sums.pack()
    sum_text = StringVar()
    sums = Entry(top_show, textvariable=sum_text,state='readonly')
    sum_text.set(re_sum)
    sums.pack()

    top_show.mainloop()

def on_click(top,base_text):

    #获取输入信息
    if base_text.get().strip() == '':
        messagebox.showinfo(title='字符串', message='字符为空,请输入有效的数值!')
    else:
        base_Num = base_text.get()
    strlen = sum_test(base_Num)
    show_result(top,strlen)

def put_info():
    top = get_Tk()
    #top.minsize(100, 100)  # 窗口的最小缩放
    top.title("输入字符串")
    top.geometry('300x240+420+420')


    baseNum = Label(top, text='字符串:')
    baseNum.pack()
    base_text = StringVar()
    base = Entry(top, textvariable=base_text)
    base_text.set(" ")
    base.pack()

    Button(top, text="计算", command= lambda:on_click(top,base_text)).pack()
    top.mainloop()

   # 这种 直接command = 方法名的方式,函数是不能传递参数的,所以为了能传递参数使用了上面的方法。
   # Button(top, text="计算", command= on_click).pack()

if __name__ == '__main__':
    put_info()

 

posted @ 2017-04-06 14:53  Blue●Sky  阅读(1941)  评论(0编辑  收藏  举报