4.文本【tkinter】【乡村培育站暑期学习2023.8】
在图形编程之中,为了方便进行人机交互,基本上都要求有一个文本输入的位置,所以在tkinter模块中提供有text组件。这个类的最大特点是可以进行单行文本,多行文本,图片,Html代码的显示处理能力。
范例一:定义普通文本
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("800x400") #设置初始化尺寸,小写字母的"x"
11 root.maxsize(800, 600) #设置窗体的最大尺寸
12 #-------------以下进行文本的定义---------------------------
13 text = tkinter.Text(root, height=10, font=("微软雅黑", 10)) #创建文本对象
14 text.pack() #显示文本组件
15 root.mainloop() #显示窗体
16 def main(): #定义主函数
17 MainForm() #主窗体实例化
18 if __name__ == "__main__": #判定程序的执行
19 main() #调用主函数
运行结果:

所有的文本组件内部实际上都可以进行默认文字配置,如果要进行文字的定义,则使用insert()插入的形式处理即可。
范例三:进行文本组件内容的追加
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("400x300") #设置初始化尺寸,小写字母的"x"
11 root.maxsize(800, 600) #设置窗体的最大尺寸
12 root["background"] = "LightSlateGray"
13 #-------------以下进行文本的定义---------------------------
14 text = tkinter.Text(root, width=30, height=5, font=("微软雅黑", 15)) #创建文本对象
15 #在当前光标所处的位置上进行内容的配置
16 text.insert(tkinter.CURRENT, "默认开始信息【 ") #tkinter.CURRENT ="current"
17 text.insert(tkinter.END, " 】默认结尾信息") #tkinter.END = "end"
18 text.pack() #显示文本组件
19 root.mainloop() #显示窗体
20 def main(): #定义主函数
21 MainForm() #主窗体实例化
22 if __name__ == "__main__": #判定程序的执行
23 main() #调用主函数
运行结果:

在tkinter组件里面一般还可以进行一些图像的配置处理,在文本中进行图像的追加操作。
范例三:进行图像的显示配置
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("400x300") #设置初始化尺寸,小写字母的"x"
12 root.maxsize(800, 600) #设置窗体的最大尺寸
13 root["background"] = "LightSlateGray"
14 #-------------以下进行文本的定义---------------------------
15 text = tkinter.Text(root, width=30, height=5, font=("微软雅黑", 15)) #创建文本对象
16 #在当前光标所处的位置上进行内容的配置
17 text.insert(tkinter.CURRENT, "默认开始信息【 ") #tkinter.CURRENT ="current"
18 text.insert(tkinter.END, " 】默认结尾信息") #tkinter.END = "end"
19 photo = tkinter.PhotoImage(file=IMAGES_PATH) #定义图像组件
20 text.image_create(tkinter.END, image=photo) #tkinter.END = "end",在文本组件中进行图像的显示
21 text.pack() #显示文本组件
22 root.mainloop() #显示窗体
23 def main(): #定义主函数
24 MainForm() #主窗体实例化
25 if __name__ == "__main__": #判定程序的执行
26 main() #调用主函数
运行结果:

通过代码演示的分析text组件可以支持的显示内容很多,如果要是本身对于一些富文本编辑有研究的同学就可以直接基于这样的组件类进行各种复杂的文件编辑器的对接等。

浙公网安备 33010602011771号