目录
图形用户界面tkinter之标签Label使用导入tkinter模块构建窗口对象窗口属性设置标签label使用tkinter解决的一些小问题Label的weight参数图形用户界面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")
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
X 关闭
X 关闭