tkinter 是使用 Python 进行窗口视窗设计的模块。tkinter模块("Tk 接口")是Python的标准Tk GUI(Graphical User Interface,简称 GUI,又称图形用户接口)工具包的接口。作为 Python 特定的GUI界面,是一个图像的窗口。tkinter是Python 自带的,可以编辑的GUI界面,可以用GUI 实现很多直观的功能。开发图像化的窗口,用来增加用户体验。
Python的GUI库非常多。Python中的tkinter库,使用简单,是Python自带库,不需下载安装,随时使用。对于开发复杂的桌面应用,Python并不具备这方面的优势,使用tkinter库,只是作为一个灵活的工具,而不是作为主要开发语言。在工作中,制作一个程序需要有界面时,tkinter是完全可以胜任的。
题目:分别以图片的西南(sw)和东北(NE)为锚定点放置两张图片。
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.geometry('500x300') #设定窗口大小,这里的乘是小x
- canvas=tk.Canvas(window,height=300, width=500) #图形界面上创建500*300大小的画布
- canvas.pack() #激活画布
- image_file = tk.PhotoImage(file='d:\\abc\\11.PNG') #导入图片
- image=canvas.create_image(250,150,anchor='sw',image=image_file) #图片锚定点(sw图片左下角)放在画布(250,150)坐标处
- image=canvas.create_image(250,150,anchor='ne',image=image_file) #图片锚定点(ne图片右上角)放在画布(250,150)坐标处
教学视频:
/Upload/image/20220828094414_0358.mp4
实例01:创建窗体1
(2)设置窗体位置为左500,上300
(3)窗体背景显示黄色
(4)窗体标题栏显示“我的第一个程序”
(5)窗体不可拖动改变大小
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.title('我的第一个程序') #窗口命名
- window.geometry('500x300+500+300') #设定窗口大小(长宽左上)这里的乘是小x
- window.resizable(width=False,height=False) #设置不可拖拽调整大小
- window.configure(bg='yellow') #设置窗口背景颜色
教学视频:
/Upload/image/20220902093434_7786.mp4
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- ww=500 #设定窗口宽度为500
- wh=300 #设定窗口高度为300
- sw=window.winfo_screenwidth() #测试屏幕宽度
- sh=window.winfo_screenheight() #测试屏幕高度
- x=(sw-ww)/2
- y=(sh-wh)/2
- window.geometry("%dx%d+%d+%d" %(ww,wh,x,y)) #设置窗口居中
教学视频:
/Upload/image/20220902093603_4335.mp4
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- w=window.winfo_screenwidth() #获取屏幕宽度
- h=window.winfo_screenheight() #获取屏幕高度
- window.geometry("%dx%d" %(w,h)) #设置窗口全屏
教学视频:
/Upload/image/20220902093655_4228.mp4
(2)设置窗体位置为左400,上200
(3)创建500*200大小的绿色画布
(4)画布指定位置插入图片
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.geometry('500x300+400+200') #设定窗口大小(长宽左上)这里的乘是小x
- canvas=tk.Canvas(window,bg='green',height=200, width=500) #图形界面上创建500*200大小的绿色画布
- canvas.pack() #激活画布
- im=tk.PhotoImage(file='d:\\abc\\11.PNG') #导入图片
- image=canvas.create_image(250,0,anchor='n',image=im) #图片锚定点(n图片顶端的中间点位置)放在画布(250,0)坐标处
教学视频:
/Upload/image/20220902093752_2385.mp4
(2)标签Label1的字体颜色为绿色、楷体、32磅,内容显示“清明”,距离为上120,左100
(3)标签Label2的字体颜色为红色,楷体、32磅,内容显示“重阳”,距离为上200,左250
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.geometry('500x300+400+200') #设定窗口大小(长宽左上)这里的乘是小x
- label1=tk.Label(window,font=("楷体",32),fg="green",text="清明") #设定标签1
- label1.place(x=100, y=120, anchor='sw') #标签1放置位置
- label2=tk.Label(window,font=("宋体",32),fg="red",text="重阳") #设定标签2
- label2.place(x=250, y=200, anchor='sw') #标签2放置位置
教学视频:
/Upload/image/20220902093841_9281.mp4
2、在两文本框中输入任意数字,点击命令按键计算两个数字之和,结果在标签中输出
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.geometry('500x300+400+200') #设定窗口大小(长宽左上)这里的乘是小x
- var=tk.StringVar() #设置为字符类型
- la=tk.Label(window,textvariable=var,font=('Arial',12),bg='yellow') #建立标签la
- la.place(x=200,y=90,width=100,height=40) #设置标签位置
- en1=tk.Entry(window,font=('Arial',14),text='') #建立文本框en1
- en1.place(x=130,y=30,width=100,height=40) #设置文本框en1位置
- en2=tk.Entry(window,font=('Arial',14),text='') #建立文本框en2
- en2.place(x=270,y=30,width=100,height=40) #设置文本框en2位置
- def hit(): #建立自定义函数
- m1=en1.get() #接收文本框e1内容
- m2=en2.get() #接收文本框e2内容
- t=int(m1)+int(m2) #计算
- var.set(t) #在标签中显示结果
- bu=tk.Button(window,text='计算',font=('Arial',12),width=10,height=1,command=hit) #建立命令按键
- bu.place(x=200,y=150,width=100,height=40) #设置命令按键位置
教学视频:
/Upload/image/20220902093934_0415.mp4
2、在多行本框中输入任意内容,点击命令按键,输入内容在标签中输出
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.geometry('500x300+400+200') #设定窗口大小(长宽左上)这里的乘是小x
- var=tk.StringVar() #设置为字符类型
- la=tk.Label(window,textvariable=var,font=('Arial',12),bg='yellow') #建立标签la
- la.place(x=150,y=120,width=200,height=40) #设置标签位置
- te=tk.Text(window,font=('Arial',14)) #建立多行文本框te
- te.place(x=200,y=30,width=100,height=80) #设置多行文本框te位置
- def hit(): #建立自定义函数
- m=te.get('0.0','end') #接收文本框e1内容
- var.set(m) #在标签中显示结果
- bu=tk.Button(window,text='显示',font=('Arial',12),width=10,height=1,command=hit) #建立命令按键
- bu.place(x=200,y=180,width=100,height=40) #设置命令按键位置
教学视频:
/Upload/image/20220902094024_7632.mp4
2、点击不同命令按钮将红色的“Hello”插入在文本的不同位置
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.title('插入Hello')
- window.geometry('500x300+400+200') #设定窗口大小(长宽左上)这里的乘是小x
- t1=tk.Text(window,font=('Arial',14)) #建立多行文本框t1
- t1.place(x=10,y=10,width=300,height=280) #设置多行文本框t1位置
- t1.insert(1.0,'abcdefg\n') #插入内容
- t1.insert(2.0,'1234567\n')
- t1.tag_config('c',foreground = 'red')
- def hit1(): #建立自定义函数hit1
- t1.insert(1.0,'Hello','c')
- def hit2(): #建立自定义函数hit2
- t1.insert(tk.END,'Hello','c')
- def hit3(): #建立自定义函数hit3
- t1.insert(2.4,'Hello','c')
- def hit4(): #建立自定义函数hit4
- t1.insert(tk.INSERT,'Hello','c')
- def hit5(): #建立自定义函数hit5
- a=''
- t1.mark_set(a,tk.INSERT+'+2c')
- t1.insert(a,'Hello','c')
- bu1=tk.Button(window,text='插入在开头',font=('Arial',10),width=10,height=1,command=hit1)
- bu1.place(x=380,y=10,width=100,height=40) #设置命令按键位置
- bu2=tk.Button(window,text='插入在结尾',font=('Arial',10),width=10,height=1,command=hit2)
- bu2.place(x=380,y=60,width=100,height=40)
- bu3=tk.Button(window,text='插入在2行5列',font=('Arial',10),width=10,height=1,command=hit3)
- bu3.place(x=380,y=110,width=100,height=40) #设置命令按键位置
- bu4=tk.Button(window,text='插入在光标位',font=('Arial',10),width=10,height=1,command=hit4)
- bu4.place(x=380,y=160,width=100,height=40)
- bu5=tk.Button(window,text='插在光标后2位',font=('Arial',10),width=10,height=1,command=hit5)
- bu5.place(x=380,y=210,width=100,height=40)
- window.mainloop()
教学视频:
/Upload/image/20220902094117_8103.mp4
2、在单行文本框中输入文本,单击一个命令按钮查找该文本并设置格式,单击另一个命令按钮取消格式。
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.geometry('500x300+400+200') #设定窗口大小(长宽左上)这里的乘是小x
- def hit1():
- t1.tag_config('m',foreground='red',background='blue')
- find=e1.get()
- pos1=''
- pos2=''
- if find:
- pos1=t1.search(find,1.0)
- if pos1:
- pos2=pos1+'+'+str(len(find))+'c'
- t1.tag_add('m',pos1,pos2)
- def hit2():
- t1.tag_delete('m')
- t1=tk.Text(window,font=('Arial',14)) #建立多行文本框t1
- t1.place(x=10,y=10,width=340,height=280) #设置多行文本框t1位置
- t1.insert(1.0,'只要愿意学习,就一定能够学会!') #写入内容
- e1=tk.Entry(window,font=('Arial',14))
- e1.place(x=380,y=110,width=100,height=40)
- bu1=tk.Button(window,text='设置格式',font=('Arial',10),width=10,height=1,command=hit1)
- bu1.place(x=380,y=160,width=100,height=40)
- bu2=tk.Button(window,text='取消格式',font=('Arial',10),width=10,height=1,command=hit2)
- bu2.place(x=380,y=210,width=100,height=40)
- window.mainloop()
教学视频:
/Upload/image/20220902094220_0926.mp4
- import tkinter as tk #导入tkinter
- window=tk.Tk() #建立窗口window
- window.geometry('500x300+400+200') #设定窗口大小(长宽左上)这里的乘是小x
- la1=tk.Label(window,text="计算1到任意数之和",font=('Arial',24)) #建立标签la1
- la1.place(x=100,y=40,width=300,height=40) #设置标签位置
- en=tk.Entry(window,font=('Arial',14),text='') #建立文本框en
- en.place(x=130,y=120,width=60,height=40) #设置文本框en位置
- def hit(): #建立自定义函数
- s=0
- kk=en.get() #接收文本框en内容
- for i in range(int(kk)+1):
- s=s+i
- la2=tk.Label(window,text=s,font=('Arial',14)) #建立标签la2
- la2.place(x=180,y=120,width=300,height=40) #设置标签位置
- bu=tk.Button(window,text='计算',font=('Arial',12),width=10,height=1,command=hit) #建立命令按键
- 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