Python tkinter学习3 En

发布时间:2019-09-15 09:56:12编辑:auto阅读(1691)

    #tk_entry_text.py
    #学习tk的Entry组件,学习在界面中如何实现输入及显示信息
    import tkinter as tk

    ####################第一步
    window = tk.Tk()
    window.title('学习Entry组件')
    #这里是设置初始窗口大小,用户可以拉动边框改变窗口大小。
    window.geometry('450x400') 

    ################第二步
    #创建tk”输入”组件,属于“window”的子组件
    #show是你输入字符后,希望以什么方式显示,例如输mima时,希望用*显示,那么show='*'
    e = tk.Entry(window,show='N')
    #挂在“window“内,让e组件在"window"上显示
    e.pack()

    ########################第五步
    def insert1():
    #var的值,来自于tk.Entry实例化e的get方。而e创建于Entry组件,即你输入啥,就get到啥
    var = e.get()
    #实例t在第四步创建,是一个tk文本组件实例。实例t的insert方法,
    #括号内第二个参数是要输入的值,这里var是字符串;括号内第一个参数insert表示在文本中的光标后插入var的值,tk实例insert方法很方便啊。
    t.insert('insert',var)


    #实现插入到文本末尾的按钮的方法 insert2
    def insert2():
    var = e.get()
    #括号内end表示text文末插入var的值,不用insert添加,
    t.insert('end',var)

    ######################扩展 insert3之insert方法
    def insert3():
    var = e.get()
    #在text组件文本中的x行,y列后插入var值
    #x1.get()获取的是字符串
    x = int(x1.get())
    y = int(y1.get())
    z = x+y*0.1
    #insert方法的第一个参数z,其实是指第x行,第y列。z是一个float型。
    t.insert(z,var)
    print('x.get的类型',x1.get().__class__) 
    print('z的类型',z.__class__) 


    ####################第三步
    #button组件,command=insert1 表示点击button1按钮后,调用insert1方法
    button1 = tk.Button(window,text='插入光标后',width = 15,height = 2,command=insert1)
    button1.pack()

    #创建一个让输入的文字插入到文本末尾的按钮
    button2 = tk.Button(window,text='插入文本末尾',width = 15,height = 2,command=insert2)
    button2.pack()

    #########################扩展 insert3之button组件

    #没有try except,未输入x,y的值,按下button3按钮会报错

    button3 = tk.Button(window,text='插入某行',width = 15,height = 2,command=insert3)
    button3.pack()
    #扩展 insert3之 x,y输入框
    labelx=tk.Label(window,text='x:',justify=tk.RIGHT,width=80)
    labelx.pack()  
    x1 = tk.Entry(window)
    x1.pack()
    #创建y列 Label和Entry
    labely=tk.Label(window,text='y:',justify=tk.RIGHT,width=80)
    labely.pack() 
    y1 = tk.Entry(window)
    y1.pack()

    #######################第四步
    #在window内创建一个文本子组件“t”
    #height=5,表示5个字符高,而不是5个像素高。这也意味着可以显示五行字符。超出后,拉动光标可以显示
    t = tk.Text(window,height=5,width=200)
    #挂上去,画上去,放在窗口内,pack()大致就是这意思
    t.pack()

    #循环,di层调用了许多东东。我们只要记得要想弹出界面,最后记得Tk()实例名+mainloop()。
    window.mainloop()

关键字