第6章 Python办公自动化之tkinter库
当前位置:首页 > python基础
第6章 Python办公自动化之tkinter库

中中

2022/8/7 21:50:26

tkinter 是使用 Python 进行窗口视窗设计的模块。tkinter模块("Tk 接口")Python的标准Tk GUI(Graphical User Interface,简称 GUI,又称图形用户接口)工具包的接口。作为 Python 特定的GUI界面,是一个图像的窗口。tkinterPython 自带的,可以编辑的GUI界面,可以用GUI 实现很多直观的功能。开发图像化的窗口,用来增加用户体验。

PythonGUI库非常多。Python中的tkinter库,使用简单,是Python自带库,不需下载安装,随时使用。对于开发复杂的桌面应用,Python并不具备这方面的优势,使用tkinter库,只是作为一个灵活的工具,而不是作为主要开发语言。在工作中,制作一个程序需要有界面时,tkinter是完全可以胜任的。


实例00创建窗口,放置图片


题目:
分别以图片的西南(sw)和东北(NE)为锚定点放置两张图片。

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                       #建立窗口window
  3. window.geometry('500x300')           #设定窗口大小,这里的乘是小x
  4. canvas=tk.Canvas(window,height=300, width=500) #图形界面上创建500*300大小的画布
  5. canvas.pack()                        #激活画布
  6. image_file = tk.PhotoImage(file='d:\\abc\\11.PNG')                #导入图片
  7. image=canvas.create_image(250,150,anchor='sw',image=image_file)   #图片锚定点(sw图片左下角)放在画布(250,150)坐标处
  8. image=canvas.create_image(250,150,anchor='ne',image=image_file)   #图片锚定点(ne图片右上角)放在画布(250,150)坐标处



教学视频:

/Upload/image/20220828094414_0358.mp4



实例01创建窗体1

题目:1) 设置窗体大小为500*300

  (2)设置窗体位置为左500,上300

  (3)窗体背景显示黄色

  (4)窗体标题栏显示我的第一个程序

  (5)窗体不可拖动改变大小

		
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                        #建立窗口window
  3. window.title('我的第一个程序')       #窗口命名
  4. window.geometry('500x300+500+300')   #设定窗口大小(长宽左上)这里的乘是小x
  5. window.resizable(width=False,height=False)  #设置不可拖拽调整大小
  6. window.configure(bg='yellow')        #设置窗口背景颜色



教学视频:

/Upload/image/20220902093434_7786.mp4


实例02创建窗体2

题目:设置窗体大小为500*300,并在屏幕中间居中。

					
  1. import tkinter as tk  #导入tkinter
  2. window=tk.Tk()         #建立窗口window
  3. ww=500     #设定窗口宽度为500
  4. wh=300     #设定窗口高度为300
  5. sw=window.winfo_screenwidth()  #测试屏幕宽度
  6. sh=window.winfo_screenheight() #测试屏幕高度
  7. x=(sw-ww)/2
  8. y=(sh-wh)/2
  9. window.geometry("%dx%d+%d+%d" %(ww,wh,x,y)) #设置窗口居中



教学视频:

/Upload/image/20220902093603_4335.mp4


实例03创建窗体3

题目:设置窗体占据整个屏幕。

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                     #建立窗口window
  3. w=window.winfo_screenwidth()    #获取屏幕宽度
  4. h=window.winfo_screenheight()   #获取屏幕高度
  5. window.geometry("%dx%d" %(w,h))  #设置窗口全屏



教学视频:

/Upload/image/20220902093655_4228.mp4


实例04创建窗体4

题目:1) 设置窗体大小为500*300

    (2)设置窗体位置为左400,上200

    (3)创建500*200大小的绿色画布

    (4)画布指定位置插入图片

					
  1. import tkinter as tk     #导入tkinter
  2. window=tk.Tk()           #建立窗口window
  3. window.geometry('500x300+400+200')   #设定窗口大小(长宽左上)这里的乘是小x
  4. canvas=tk.Canvas(window,bg='green',height=200, width=500) #图形界面上创建500*200大小的绿色画布
  5. canvas.pack()  #激活画布
  6. im=tk.PhotoImage(file='d:\\abc\\11.PNG') #导入图片
  7. image=canvas.create_image(250,0,anchor='n',image=im) #图片锚定点(n图片顶端的中间点位置)放在画布(250,0)坐标处



教学视频:

/Upload/image/20220902093752_2385.mp4


实例05创建标签

题目:1) 设置窗体大小为500*300,左400,上200

    (2)标签Label1字体颜色为绿色、楷体、32磅,内容显示“清明”,距离为上120,左100

    (3)标签Label2的字体颜色为红色,楷体、32磅,内容显示“重阳”,距离为上200,左250

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                       #建立窗口window
  3. window.geometry('500x300+400+200')   #设定窗口大小(长宽左上)这里的乘是小x
  4. label1=tk.Label(window,font=("楷体",32),fg="green",text="清明")  #设定标签1
  5. label1.place(x=100, y=120, anchor='sw')                          #标签1放置位置
  6. label2=tk.Label(window,font=("宋体",32),fg="red",text="重阳")    #设定标签2
  7. label2.place(x=250, y=200, anchor='sw')                          #标签2放置位置



教学视频:

/Upload/image/20220902093841_9281.mp4


实例06创建单行文本框

题目:1、添加单行文本框en1 en2; 添加标签la;添加命令按键bu

   2、在两文本框中输入任意数字,点击命令按键计算两个数字之和,结果在标签中输出

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                       #建立窗口window
  3. window.geometry('500x300+400+200')   #设定窗口大小(长宽左上)这里的乘是小x
  4. var=tk.StringVar()                   #设置为字符类型
  5. la=tk.Label(window,textvariable=var,font=('Arial',12),bg='yellow') #建立标签la
  6. la.place(x=200,y=90,width=100,height=40)                          #设置标签位置
  7. en1=tk.Entry(window,font=('Arial',14),text='')      #建立文本框en1
  8. en1.place(x=130,y=30,width=100,height=40)           #设置文本框en1位置
  9. en2=tk.Entry(window,font=('Arial',14),text='')      #建立文本框en2
  10. en2.place(x=270,y=30,width=100,height=40)           #设置文本框en2位置
  11.     
  12. def hit():             #建立自定义函数
  13.     m1=en1.get()       #接收文本框e1内容  
  14.     m2=en2.get()       #接收文本框e2内容
  15.     t=int(m1)+int(m2)  #计算
  16.     var.set(t)         #在标签中显示结果
  17.     
  18. bu=tk.Button(window,text='计算',font=('Arial',12),width=10,height=1,command=hit) #建立命令按键
  19. bu.place(x=200,y=150,width=100,height=40)            #设置命令按键位置



教学视频:

/Upload/image/20220902093934_0415.mp4


实例07创建多行文本框

题目:1、添加多行文本框te ; 添加标签la;添加命令按键bu

   2、在多行本框中输入任意内容,点击命令按键,输入内容在标签中输出

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                       #建立窗口window
  3. window.geometry('500x300+400+200')   #设定窗口大小(长宽左上)这里的乘是小x
  4. var=tk.StringVar()                   #设置为字符类型
  5. la=tk.Label(window,textvariable=var,font=('Arial',12),bg='yellow') #建立标签la
  6. la.place(x=150,y=120,width=200,height=40)                          #设置标签位置
  7. te=tk.Text(window,font=('Arial',14))       #建立多行文本框te
  8. te.place(x=200,y=30,width=100,height=80)   #设置多行文本框te位置
  9. def hit():                       #建立自定义函数
  10.     m=te.get('0.0','end')        #接收文本框e1内容  
  11.     var.set(m)                   #在标签中显示结果
  12. bu=tk.Button(window,text='显示',font=('Arial',12),width=10,height=1,command=hit) #建立命令按键
  13. bu.place(x=200,y=180,width=100,height=40)   #设置命令按键位置



教学视频:

/Upload/image/20220902094024_7632.mp4


实例08定位多行文本框内容位置

题目:1、添加1个多行文本框,添加5个命令按钮

   2、点击不同命令按钮将红色的“Hello”插入在文本的不同位置

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                       #建立窗口window
  3. window.title('插入Hello')
  4. window.geometry('500x300+400+200')   #设定窗口大小(长宽左上)这里的乘是小x
  5. t1=tk.Text(window,font=('Arial',14))     #建立多行文本框t1
  6. t1.place(x=10,y=10,width=300,height=280) #设置多行文本框t1位置
  7. t1.insert(1.0,'abcdefg\n')               #插入内容
  8. t1.insert(2.0,'1234567\n')
  9. t1.tag_config('c',foreground = 'red')    
  10. def hit1():                #建立自定义函数hit1
  11.     t1.insert(1.0,'Hello','c')
  12. def hit2():                #建立自定义函数hit2
  13.     t1.insert(tk.END,'Hello','c')
  14. def hit3():                #建立自定义函数hit3
  15.     t1.insert(2.4,'Hello','c')
  16. def hit4():                #建立自定义函数hit4
  17.     t1.insert(tk.INSERT,'Hello','c')    
  18. def hit5():                #建立自定义函数hit5
  19.     a=''
  20.     t1.mark_set(a,tk.INSERT+'+2c')
  21.     t1.insert(a,'Hello','c')  
  22. bu1=tk.Button(window,text='插入在开头',font=('Arial',10),width=10,height=1,command=hit1)
  23. bu1.place(x=380,y=10,width=100,height=40)   #设置命令按键位置
  24. bu2=tk.Button(window,text='插入在结尾',font=('Arial',10),width=10,height=1,command=hit2)
  25. bu2.place(x=380,y=60,width=100,height=40)  
  26. bu3=tk.Button(window,text='插入在2行5列',font=('Arial',10),width=10,height=1,command=hit3)
  27. bu3.place(x=380,y=110,width=100,height=40)   #设置命令按键位置
  28. bu4=tk.Button(window,text='插入在光标位',font=('Arial',10),width=10,height=1,command=hit4)
  29. bu4.place(x=380,y=160,width=100,height=40) 
  30. bu5=tk.Button(window,text='插在光标后2位',font=('Arial',10),width=10,height=1,command=hit5)
  31. bu5.place(x=380,y=210,width=100,height=40) 
  32. window.mainloop()



教学视频:

/Upload/image/20220902094117_8103.mp4


实例09设置多行文本框内容格式

题目:1、在窗体上添加多行文本框,单行文本框,两个命令按钮

          2、在单行文本框中输入文本,单击一个命令按钮查找该文本并设置格式,单击另一个命令按钮取消格式。

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                       #建立窗口window
  3. window.geometry('500x300+400+200')   #设定窗口大小(长宽左上)这里的乘是小x
  4. def hit1():  
  5.     t1.tag_config('m',foreground='red',background='blue')
  6.     find=e1.get()
  7.     pos1=''  
  8.     pos2=''  
  9.     if find:
  10.         pos1=t1.search(find,1.0)
  11.         if pos1:
  12.             pos2=pos1+'+'+str(len(find))+'c'
  13.             t1.tag_add('m',pos1,pos2)
  14. def hit2():
  15.     t1.tag_delete('m')
  16. t1=tk.Text(window,font=('Arial',14))               #建立多行文本框t1
  17. t1.place(x=10,y=10,width=340,height=280)        #设置多行文本框t1位置
  18. t1.insert(1.0,'只要愿意学习,就一定能够学会!') #写入内容
  19. e1=tk.Entry(window,font=('Arial',14))
  20. e1.place(x=380,y=110,width=100,height=40)
  21. bu1=tk.Button(window,text='设置格式',font=('Arial',10),width=10,height=1,command=hit1)
  22. bu1.place(x=380,y=160,width=100,height=40) 
  23. bu2=tk.Button(window,text='取消格式',font=('Arial',10),width=10,height=1,command=hit2)
  24. bu2.place(x=380,y=210,width=100,height=40) 
  25. window.mainloop()



教学视频:

/Upload/image/20220902094220_0926.mp4


实例10创建命令按钮

题目:创建命令按钮,计算1至任意数之和

					
  1. import tkinter as tk                 #导入tkinter
  2. window=tk.Tk()                       #建立窗口window
  3. window.geometry('500x300+400+200')   #设定窗口大小(长宽左上)这里的乘是小x
  4. la1=tk.Label(window,text="计算1到任意数之和",font=('Arial',24)) #建立标签la1
  5. la1.place(x=100,y=40,width=300,height=40)                       #设置标签位置
  6. en=tk.Entry(window,font=('Arial',14),text='')     #建立文本框en
  7. en.place(x=130,y=120,width=60,height=40)          #设置文本框en位置
  8. def hit():            #建立自定义函数
  9.     s=0
  10.     kk=en.get()       #接收文本框en内容  
  11.     for i in range(int(kk)+1):
  12.         s=s+i
  13.     la2=tk.Label(window,text=s,font=('Arial',14))   #建立标签la2
  14.     la2.place(x=180,y=120,width=300,height=40)      #设置标签位置
  15. bu=tk.Button(window,text='计算',font=('Arial',12),width=10,height=1,command=hit) #建立命令按键
  16. bu.place(x=200,y=200,width=100,height=40)            #设置命令按键位置



教学视频:

/Upload/image/20220902094353_8022.mp4





还可以输入200个字

蝈蝈派【海南省教改项目(Hnjg2022-80)支持】 网站版权所有

Python remained the copyright of our website

吉公网安备 22020402000437号

备案号:吉ICP备2020005062号-2

关注QQ群

了解Python

实时动态