把多行文本框里的内容按照字典里的“键值对”进行格式化数据批量替换以后,重新赋值给s1 | s1=s1.format_map(ZiDian1) | 可以用于网页后端网站后台的开发
# 一定要定义编码
# -*- coding: UTF-8 -*-
# 【1】导入库tkinter库,不弄别名简称
import tkinter
# 导入提示库,不弄别名简称
import tkinter.messagebox
# 新导入库,用于pillow,支持各种后缀的图片
from PIL import ImageTk,Image
# 防止二级制运算的精度丢失
import decimal
from decimal import Decimal
# --------自定义按钮对应的函数--开始--------------- #
def AnNiu1_QingKong_DJ():
DuoHWBK1.delete(0.0,tkinter.END)
pass
def AnNiu2_GeShiHua_DJ():
s1=DuoHWBK1.get(0.0,tkinter.END)
# 定义1个字典
ZiDian1={"title":"张三","p1":"编程改造城市","p2":"python欢迎你"}
# 把S1里的内容按照上面的字典里的“键值对”进行格式化数据替换以后,重新复制给s1
# 支持重复替换,如果文本框里出现多个“p1”,可以一次性全部替换。
# 为以后写网页前端后端打基础。
s1=s1.format_map(ZiDian1)
# 为了下次格式化的时候,把下面的多行文本框清空掉。
DuoHWBK2.delete(0.0,tkinter.END)
DuoHWBK2.insert(tkinter.END,s1)
pass
# --------自定义按钮对应的函数--结束--------------- #
# 【1】创建软件窗口实体,窗体
chuangkou1=tkinter.Tk()
# 【2】软件界面顶部显示名称以及版本号
chuangkou1.title("字典格式化_format_map")
# 【3】软件的长宽、在当前桌面屏幕的左边距、顶上边距
# 定义窗口自身宽度
ck1w=600
# 定义窗口自身高度
ck1h=400
# 获取屏幕宽度
pmw=chuangkou1.winfo_screenwidth()
# 获取屏幕高度
pmh=chuangkou1.winfo_screenheight()
# 计算水平方向的起点位置坐标
x1=pmw/2-ck1w/2
# 计算垂直方向的起点位置坐标
y1=pmh/2-ck1h/2
# 设置窗体所在屏幕的坐标位置
chuangkou1.geometry("%dx%d+%d+%d"%(ck1w,ck1h,x1,y1))
# 【4】软件界面窗体的背景属性,背景颜色改成绿色,绿色的颜色属性值
chuangkou1["background"]="#FFFCCC"
# 【5】软件界面左上角的ico图标
chuangkou1.iconbitmap('./pic1/logo_ico.ico')
# 开始正式编辑代码↓↓↓↓
# 添加1个多行文本框
DuoHWBK1=tkinter.Text(chuangkou1,height=10)
DuoHWBK1.pack()
# 定义1个frame窗口
frame1=tkinter.Frame(chuangkou1)
frame1.pack()
# 在这个frame里放2个按钮 。
AnNiu1=tkinter.Button(frame1,text="清空",command=AnNiu1_QingKong_DJ)
AnNiu1.pack(side="left",anchor=tkinter.NW,padx=10,pady=5)
AnNiu2=tkinter.Button(frame1,text="格式化",command=AnNiu2_GeShiHua_DJ)
AnNiu2.pack(side="left",anchor=tkinter.NW,padx=10,pady=5)
# 再添加1个多行文本框
DuoHWBK2=tkinter.Text(chuangkou1,height=10)
DuoHWBK2.pack()
# ------末尾必须放死循环代码---分割线------ #
# 【End.1】持续显示软件界面,相当于死循环,↓
# 【End.1】这个窗体的作用是监听这个界面发生的一切事件,包括鼠标点击动作。
# 【End.1】下面这个死循环代码必须放在最后面。
chuangkou1.mainloop()