#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()