亲宝软件园·资讯

展开

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')

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

加载全部内容

相关教程
猜你喜欢
用户评论