# --*-- coding:utf-8 --*--

 import tkinter as tk
import re
import requests
from tkinter import messagebox
from PIL import Image,ImageTk # 创建窗口
wuya = tk.Tk()
# 设置窗口title
wuya.title("舞涯签名")
# 设置窗口大小
wuya.geometry("600x330+300+200") # 下载签名
def download():
url = 'http://www.uustv.com/'
# 获得输入内容
name = ety.get()
# 去空格
name = name.strip()
if name == '':
messagebox.showinfo("提示","请输入用户名")
else:
# 设置post数据
data = {
'word':name,
'sizes':60,
'fonts':'jfcs.ttf',
'fontcolor':'#000000'
} # 请求网页
result = requests.post(url=url,data=data)
# 获取网页源码
result.encoding = 'utf-8'
html = result.text
# 正则表达式匹配需要的内容
reg = '<div class="tu">.*?<img src="(.*?)"/></div>'
img = re.findall(reg,html)
# 获取图片路径
imgurl = url + img[0]
# 获取图片内容
response = requests.get(url=imgurl).content # 将获取的图片保存到本地
f = open('{}.gif'.format(name),'wb')
f.write(response)
f.close() # 显示图片
bm = ImageTk.PhotoImage(file='{}.gif'.format(name))
lb2 = tk.Label(wuya,image=bm)
lb2.bm = bm
lb2.place(x=30,y=100) # 签名输入框标签
lb = tk.Label(wuya,text="输入您的名字:",font=("黑体",22),fg='red')
lb.place(x=50,y=20) # 输入框
ety = tk.Entry(wuya,font=("黑体",22))
ety.place(x=200,y=20) # 生成签名按钮
bt = tk.Button(text="生成签名",width=7,font=("黑体",18),command=download)
bt.place(x=200,y=60) wuya.mainloop()

结果如下:

此代码来源于优酷视频,笔者看了一遍视频学的。详情不做解释。有兴趣的可以去优酷看视频了解。

http://v.youku.com/v_show/id_XMzUyODI5NTY5Ng==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.2&f=51380420

虽说是公开课内容,但是笔者没有获得原作者的授权就将代码贴出来,实有不妥,如读者遇到原作者还希望告知笔者copy内容,万谢!!

tkinter调取签名网而设计签名页面(十七)的更多相关文章

  1. tkinter调取签名网而设计签名页面

    # --*-- coding:utf-8 --*-- import tkinter as tk import re import requests from tkinter import messag ...

  2. API服务接口签名代码与设计,如果你的接口不走SSL的话?

    在看下面文章之前,我们先问几个问题 rest 服务为什么需要签名? 签名的几种方式? 我认为的比较方便的快捷的签名方式(如果有大神持不同意见,可以交流!)? 怎么实现验签过程 ? 开放式open ap ...

  3. 腾讯网移动端H5页面设计实战分享

    分享 <关于我> 分享  [中文纪录片]互联网时代                 http://pan.baidu.com/s/1qWkJfcS 分享 <HTML开发MacOSAp ...

  4. 如何在自己设计的页面中调用metamask-1

    启发: https://github.com/MetaMask/metamask-extension/issues/714 https://github.com/MetaMask/metamask-e ...

  5. 对石家庄铁道大学官网UI设计的分析

    在这一周周一,老师给我们讲了PM,通过对PM的学习,我知道了PM 对项目所有功能的把握, 特别是UI.最差的UI, 体现了团队的组织架构:其次, 体现了产品的内部结构:最好, 体现了用户的自然需求.在 ...

  6. 【Java EE 学习 70 下】【数据采集系统第二天】【Action中User注入】【设计调查页面】【Action中模型赋值问题】【编辑调查】

    一.Action中User注入问题 Action中可能会经常用到已经登陆的User对象,如果每次都从Session中拿会显得非常繁琐.可以想一种方法,当Action想要获取User对象的时候直接使用, ...

  7. [ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面

    原文:[ASP.NET MVC] 利用动态注入HTML的方式来设计复杂页面 随着最终用户对用户体验需求的不断提高,实际上我们很多情况下已经在按照桌面应用的标准来设计Web应用,甚至很多Web页面本身就 ...

  8. TMS WEB CORE直接从HTML&CSS设计的页面布局

    TMS WEB CORE直接从HTML&CSS设计的页面布局 TMS WEB CORE支持DELPHI IDE中拖放控件,生成HTML UI.这种方式适合DELPHI和C++ BUILDER的 ...

  9. Altera三速以太网IP核使用(下篇)--- 百兆网接口设计与使用

    MAC IP核的主要作用是:实现数据链路层协议,分为TX方向与RX方向,TX方向实现的是在原包文的前面加上7个55和1个D5,RX方向则相反.在使用这个 MAC IP核之前,首先确认下自己使用的网卡是 ...

随机推荐

  1. 项目- Vue全家桶实战去哪网App

    最近在学习Vue,花了几天时间跟着做了这个项目,算是对学习Vue入门的一个总结,欢迎同学们star 去哪网APP

  2. 在Hadoop集群上的HBase配置

    之前,我们已经在hadoop集群上配置了Hive,今天我们来配置下Hbase. 一.准备工作 1.ZooKeeper下载地址:http://archive.apache.org/dist/zookee ...

  3. C# 常用验证

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.W ...

  4. Spring读取外部的资源配置文件—@PropertySource和@Value实现资源文件配置

    通过@PropertySource可以指定读取的配置文件,通过@Value注解获取值: @PropertySource注解主要是让Spring的Environment接口读取属性配置文件用的,标识在@ ...

  5. Netty精粹之轻量级内存池技术实现原理与应用

    摘要: 在Netty中,通常会有多个IO线程独立工作,基于NioEventLoop的实现,每个IO线程负责轮询单独的Selector实例来检索IO事件,当IO事件来临的时候,IO线程开始处理IO事件. ...

  6. c time类型详解

    linux下存储时间常见的有两种存储方式,一个是从1970年01月01日 0:00:00到现在经过了多少秒,一个是用一个结构来分别存储年月日时分秒的.time_t 这种类型就是用来存储从1970年到现 ...

  7. 浅谈Java泛型中的? extends E和?super E

    https://blog.csdn.net/zymx14/article/details/78073757

  8. PHP 5.3中的命名空间使用方法

    PHP的命名空间(namespace)是php5.3之后才有的.这个概念在C#中已经很早就有了,php中的namespace其实和c#的概念是一样的. 为什么php中要使用namespace? 假设如 ...

  9. DataTable不能通过已删除的行访问该行的信息解决方法

    使用dt.Rows[0]["name", DataRowVersion.Original]可以获取

  10. oracle 外连接以及用on和where 的区别

    Oracle  外连接(OUTER JOIN)包括以下: 左外连接(左边的表不加限制) 右外连接(右边的表不加限制) 全外连接(左右两表都不加限制) 对应SQL:LEFT/RIGHT/FULL OUT ...