from tkinter import *
from tkinter import messagebox
import requests
import re
from PIL import Image,ImageTk
def func():
# 获取窗口输入的名字
name = entry.get()
print(name)
# 去掉空格
name = name.strip()
# 判断:如果用户输入为空,显示
if name == "":
messagebox.showinfo("提示",message="请输入完整的名字")
else:
# 请求网站,获取图片
data = {
'word': name,
'sizes': '60',
'fonts': 'yqk.ttf',
'fontcolor': ''#000000'
}
url = "http://www.uustv.com/"
result = requests.post(url,data)
result.encoding = "utf-8"
html = result.text
pattern = r'<img src="(.*?)"/></div>'
img_path = re.findall(pattern,html)[0]
img_url = url + img_path
# 写入到本地
with open(f'{name}的签名照.gif', "wb") as f:
f.write(requests.get(img_url).content)
# 将图片展示在窗口上
bm = ImageTk.PhotoImage(file=f'{name}的签名照.gif')
label2 = Label(root,image=bm)
label2.bm = bm
label2.grid(row=3,columnspan=2)
# 创建窗口:实例化一个窗口对象。
root = Tk()
# 窗口大小
root.geometry("540x305+374+182")
# 窗口标题
root.title("我的个性签名设计")
# 添加标签控件
label = Label(root,text="签名:",font=("宋体",25),fg="red")
# 定位
label.grid()
# 添加输入框
entry = Entry(root,font=("宋体",25),fg="black")
entry.grid(row=0,column=1)
# 添加点击按钮
button = Button(root,text="签名设计",font=("宋体",25),fg="blue",command=func)
button.grid(row=1,column=1)
# 显示窗口
root.mainloop()
效果如下:
4.总结
为了更好的在不懂行的面前装逼,我最终也将程序使用pyinstaller打包了。这样你就可以发给那些文科妹子装装逼,不是很好吗?也会一并提供给大家。
本文有两个遗留问题
,可以交给大家解决一下。其一,原网站可以进行签名设计的字体切换,我这个在代码中没有体现出来,你可以自行研究一下。其二,使用pyinstaller打包后的程序,虽然可以运行,但是好慢呀,大家有什么好方法,可以告诉我一下。
关注微信公众号『数据分析与统计学之美』,后台回复“签名设计”获取本文代码和打包文件。
本文分享自微信公众号 - 数据分析与统计学之美(gh_21c25c7e71d0)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。