3标签【tkinter】【乡村培育站暑期学习2023.8】
标签
在一个窗体之中如果定义有一些提示文字信息内容就可以利用标签的形式来进行定义,除了显示文字的功能之外,也可以在标签之中进行一些图像的显示。在tkinter模块之中提供有一个Label组件类,进行标签的定义
范例一:定义文字标签
所有的GUI组件一定要在窗体上进行各种配置,没有窗体就没有组件,而每一个组件本身又需要进行布局(本次暂时不会深入讨论布局的概念),只要组件显示就需要布局。
1 #coding:utf-8
2 import tkinter #导入有关窗体模块
3 import os #利用os模块可以方便定义完整路径
4 LOGO_PATH = "resources" + os.sep + "LOMPSTER.ICO" #LOGO文件路径
5 class MainForm: #定义窗体类
6 def __init__(self): #构造方法实现对窗体的控制
7 root = tkinter.Tk() #创建一个窗体
8 root.iconbitmap(LOGO_PATH) #设置LOGO资源
9 root.title("联合创新") #设置标题
10 root.geometry("300x200") #设置初始化尺寸,小写字母的"x"
11 root.maxsize(800, 600) #设置窗体的最大尺寸
12 root["background"] = "LightSlateGray"
13 #-------------以下进行文本标签的定义---------------------------
14 label_text = tkinter.Label(root, text = "文本使用") #创建标签对象
15 label_text.pack() #组件的布局就表示要进行组件的显示
16 root.mainloop() #显示窗体
17 def main(): #定义主函数
18 MainForm() #主窗体实例化
19 if __name__ == "__main__": #判定程序的执行
20 main() #调用主函数
执行结果:

所有标签如果没有进行各种布局的控制,那么就会按照基本的样式进行显示处理。
范例二:标签属性的配置。
1 #coding:utf-8
2 import tkinter #导入有关窗体模块
3 import os #利用os模块可以方便定义完整路径,os.sep根据平台判断使用哪种路径分隔符,windows:"\",linux:"/"。
4 LOGO_PATH = "resources" + os.sep + "LOMPSTER.ICO" #LOGO文件路径
5 class MainForm: #定义窗体类
6 def __init__(self): #构造方法实现对窗体的控制
7 root = tkinter.Tk() #创建一个窗体
8 root.iconbitmap(LOGO_PATH) #设置LOGO资源
9 root.title("联合创新") #设置标题
10 root.geometry("400x300") #设置初始化尺寸,小写字母的"x"
11 root.maxsize(800, 600) #设置窗体的最大尺寸
12 #root["background"] = "LightSlateGray"
13 #-------------以下进行文本标签的定义---------------------------
14 label_text = tkinter.Label(root, text="文本标签使用", width=200, height=100, bg="#000000", font=("方正粗黑宋简体", 20), fg="#FFFFFF") #创建标签对象
16 label_text.pack() #组件的布局就表示要进行组件的显示
17 root.mainloop() #显示窗体
18 def main(): #定义主函数
19 MainForm() #主窗体实例化
20 if __name__ == "__main__": #判定程序的执行
21 main() #调用主函数
在tkinter模块之中,除了普通的文字标签之外,实际上还可以定义图像的标签,可以直接将一张图片设置在标签组件中,就可以实现图片内容的显示。
范例三:定义图片标签(图片需要设置有一个保存路径,本次为“resources”的目录)
1 #coding:utf-8
2 import tkinter #导入有关窗体模块
3 import os #利用os模块可以方便定义完整路径
4 LOGO_PATH = "resources" + os.sep + "LOMPSTER.ICO" #LOGO文件路径
5 IMAGES_PATH = "resources" + os.sep + "j20.png" #图片路径
6 class MainForm: #定义窗体类
7 def __init__(self): #构造方法实现对窗体的控制
8 root = tkinter.Tk() #创建一个窗体
9 root.iconbitmap(LOGO_PATH) #设置LOGO资源
10 root.title("联合创新") #设置标题
11 root.geometry("800x400") #设置初始化尺寸,小写字母的"x"
12 root.maxsize(800, 600) #设置窗体的最大尺寸
13 #root["background"] = "LightSlateGray"
14 #-------------以下进行文本标签的定义---------------------------
15 label_text = tkinter.Label(root, text="文本标签使用", width=200, height=100, bg="#000000", font=("方正粗黑宋简体", 20), fg="#FFFFFF") #创建标签对象
16 #--------如果要想进行图片的加载一定要通过专属组件类来进行路径的包装--------
17 photo = tkinter.PhotoImage(file=IMAGES_PATH) #获取图片的网络连接
18 label_photo = tkinter.Label(root, image=photo) #创建标签对象
19 label_photo.pack() #标签的显示
20 label_text.pack() #组件的布局就表示要进行组件的显示
21 root.mainloop() #显示窗体
22 def main(): #定义主函数
23 MainForm() #主窗体实例化
24 if __name__ == "__main__": #判定程序的执行
25 main() #调用主函数
执行结果:

此时显示的组件由于文字的标签比较大一些,所以只能能够先显示图像标签,而后才可以正常显示出文字标签,而这样的问题主要就是布局管理的问题。

浙公网安备 33010602011771号