# --*-- 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. Xamarin.Android 使用 SQLite 出现 Index -1 requested, with a size of 10 异常

    异常: Android.Database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 10 此错误是数据返回 ...

  2. odoo开发笔记 -- 多对多字段追加数据

    正常赋值操作: (以某个模型对象的附件为例) , , attach_ids)] 其中,attach_ids为附件对象id列表. 追加更新操作: 直接追加方式,没有找到;间接实现,每次更新前,去查询附件 ...

  3. spring cloud(断路器——初学五)

    Feign使用Hystrix 因为feign已经依赖了hystrix,所以可以直接使用,无需添加再次添加依赖. 1.使用@FeignClient注解中的fallback属性指定回调类 package ...

  4. 希尔排序——Shell Sort

    前言: 数据序列1: 13-17-20-42-28 利用插入排序,13-17-20-28-42. Number of swap:1;数据序列2: 13-17-20-42-14 利用插入排序,13-14 ...

  5. oracle笔记--查询10条之后记录的数据

    本文版权归 远方的风lyh和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 由于之前一直在用mysql 对于oracle 的一些语法不太了解,自己有一次去面试让写一个oracle ...

  6. pycharm专业版破解

    网上找的用license server破解的地址都不可用== 有个方法倒是靠谱的,记录一下: 1.将C:\Windows\System32\drivers\etc里面的hosts文件打开,然后在文件中 ...

  7. Asp.net webform scaffolding结合Generic Unit of Work & (Extensible) Repositories Framework代码生成向导

    Asp.net webform scaffolding结合Generic Unit of Work & (Extensible) Repositories Framework代码生成向导 在上 ...

  8. EntityFramework附加实体

    //0.0创建修改的 实体对象 Models.BlogArticle model = new BlogArticle(); model.AId = 12; model.ATitle = "新 ...

  9. Docker系列之Docker容器(读书笔记)

    一.介绍 容器是独立运行的一个或一组应用,以及它们的运行态环境.对应的,虚拟机可以理解为模拟运行的一整套操作系统和排在上面的应用. 二.容器 2.1 启动容器 启动容器有两种方式,一种是基于镜像新建一 ...

  10. js------保留指定位数小数

    // tofix.js文件// params// val: 要处理的数据,Number | String// len: 保留小数位数,位数不足时,以0填充// side: 1|-1 对应 入|舍exp ...