python tkinter之标签Label使用
LLLLLLLLLLLLIU 人气:11图形用户界面tkinter之标签Label使用
导入tkinter模块
from tkinter import *
构建窗口对象
root = Tk()
窗口属性设置
#窗口标题 root.title('窗口标题') #窗口大小 root.geometry('200x300') #设定窗口背景颜色 root.configure(bg = "blue") #更改窗口图标 root.iconbitmap('icon文件路径') #让程序持续执行 root.mainloop()
结果图示
Mark:一般给窗口设置标题、背景颜色、大小、图标应该就够用了。需要注意的是设置窗口大小的函数geometry的参数单位是像素,所呈现的效果就是运行程序出现时的窗口大小。设置背景颜色的函数configure的参数是键值的形式。另外还可以限制窗口大小,比如限定窗口最大化、最小化:maxsize、minsize。运行程序时,呈现的窗口最大化、最小化:state、iconify。还可以更改窗口的默认图标:iconbitmap。
标签label
标签里面可以放置文本和图片。
文本标签
Label(root,text='Hello tkinter', fg='white',bg='red', height=1,width=15,anchor='nw').pack()
结果图示
如果文本内容比较长
比如text=‘I will white a text, in which there are many words,and the method of the condition will be given’
Label(root, text='I will white a text, in which there are many words,and the method of the condition will be given', fg='white',bg='red', height=8,width=15,anchor='nw', wraplength=100,justify='left').pack()
结果图示
Mark:当我们在标签中放置文本时,为了让文本在适当的位置,正常的显示,需要用到label的一些属性。比如设置label标签的高度、宽度、背景颜色:height、weight、bg。设置字体的颜色、大小:fg、font。文本在label标签中的位置:anchor。文本中内容的对齐方式:justify。如果文本内容过长,可以调节height、width、wraplength。其中wraplenght表示的是多少像素单位后换行。当标签中放置的是文本,height、width指的是多少字符单位。
补充:涉及到单位的有geometry、height、width、wraplenght。geometry用于设置窗口大小,是像素单位。wraplength指的是一段文本多长开始换行,指的是像素单位。而height、width在标签label中放置文本时,指的是字符单位,用于设置label标签的大小,方便展示出文本内容。
图片标签
python内置图片( bitmap属性)
Label(root,bitmap='error').pack()
结果图示
error可以换为hourglass、info、questhead等等
image属性显示图片
创建image对象
im = PhotoImage(file = r'C:\Users\Administrator\Desktop\动物.png')
创建label对象
Label(root,image = im).pack()
结果图示
Mark:在标签label中,使用python内置的图片,需要使用属性bitmap,bitmap的值可以查找相关文档。如果想放置自己的照片,需要使用image属性,image的值是一个image对象。用类PhotoImage将对应的图片转化为image对象使用。
supplement
文本图片的组合 属性compound
xtext='中国风' im = PhotoImage(file = r'C:\Users\Administrator\Desktop\喜鹊桃花折扇.png') Label(root,text=xtext,fg='red',font=('楷体',40), image = im,compound='center').pack()
结果图示
Mark:在标签label中同时放入文本和图片,要使用label的compound属性。
使用tkinter解决的一些小问题
Label的weight参数
之前做的一个项目中也是用label显示图片,height参数可以使用
tk.Label(self.root, image=self.p[i] ,width = 200,height = 200 ).place(x =x0-20,y=y0+50)
但是最近做的这个却提示没有这个参数,所以就无法更改显示的图片大小,找了很长时间没有解决,最后通过别的库将图片改变大小,然后再显示回来,至于最终要使用哪个图片传给别的函数可以自己选择
def photo_show(p): # 待处理图片存储路径 im = Image.open(p) # Resize图片大小,入口参数为一个tuple,新的图片大小 imBackground = im.resize((200, 200)) # 处理后的图片的存储路径,以及存储格式 imBackground.save('show.png')
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
加载全部内容