效果图:

实现步骤如下:

实现原理:其实就是套了一层GUI的壳,主要还是爬虫抓取某个网站返回的数据,然后利用python自带的GUI工具包Tkinter来实现gui界面:

1.爬虫分析:

目标站点:http://www.uustv.com

1、可以看到是通过提交表单传递数据的

参数有:

word: 风道
sizes: 60
fonts: jfcs.ttf
fontcolor: #

2、找到返回的图片数据在返回的响应中,

3、主要实现逻辑

response = requests.post(url, data=data, headers=headers)
response.encoding = 'utf-8' # 指定返回数据的编码格式,因为响应内容默认的编码方式是ISO-8859-1
# Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符
# 或者可以直接写html = reponse.content.decode("utf-8")
html = response.text
img = re.findall(r'<div class="tu">.*?src="(.*?)".*?</div>', html)[0]
# print('img:', img)
image_url = 'http://www.uustv.com/%s' % img
# 下载图片
res = requests.get(image_url).content

2:了解python自带的GUI界面模块tkinter

Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口

实现一个GUI

from tkinter import * 

# 定义一个接口对象
master = Tk() #运行GUI,窗口持久化
master.mianloop()

3:GUI设置(具体可看注释,还有Tkinter的文档)

# GUI模块,python2.7是Tkinter
# 创建窗口控件对象
root = tkinter.Tk()
root.title('pythonGUI签名设计')
# root.geometry('600x300')
# root.geometry('+400+200')
root.geometry('550x360+400+200') # 指定窗口大小,和显示的偏移量,在屏幕中显示的位置 # 设置单选框,存储类型为字符串,options是从网上爬取下来的选项
var = StringVar()
var.set('jfcs.ttf') # 设置一个默认的选项
count = 0
for mode, text in options:
b = Radiobutton(master=root, text=text, variable=var, value=mode)
b.grid(row=1, column=count)
count += 1 # 文本输入框在第二行开始
label = tkinter.Label(root, text='姓名:', font=('微软雅黑', 15))
label.grid(row=2, column=0, pady=5)
# 创建文本框
name_entry = tkinter.Entry(root, font=('微软雅黑', 20))
name_entry.grid(row=2, column=1, columnspan=6, pady=5) # 显示默认的图片,在第一行
default_img = PhotoImage(file='images/蓝月亮.gif')
label = Label(root, image=default_img)
label.grid(row=0, column=0, columnspan=count, pady=10) # 设置按钮
tkinter.Button(root, text='一键设计签名', font=('微软雅黑', 15), width='', height='',
command=getImg).grid(row=3, column=1, columnspan=5, pady=5) root.mainloop() # 窗口持久化

 项目代码:请点击

以上,不足之处请多指教,Thanks~!

参考:http://effbot.org/tkinterbook/label.htm

https://www.cnblogs.com/kongzhagen/p/6154903.html

python爬虫练习 -- 签名器+GUI界面(Tkinter)的更多相关文章

  1. python实现的、带GUI界面电影票房数据可视化程序

    代码地址如下:http://www.demodashi.com/demo/14588.html 详细说明: Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采 ...

  2. Python 实现的、带GUI界面的词云生成器

    代码地址如下:http://www.demodashi.com/demo/14233.html 详细说明: "词云"就是数据可视化的一种形式,给出一段文本,根据文本中词语的出现频率 ...

  3. GUI界面------tkinter

    import tkinter as tk class APP: def __init__(self,master): frame = tk.Frame(master) frame.pack(side ...

  4. Python GUI编程(Tkinter) windows界面开发

    Python实现GUI简单的来说可以调用Tkinter库,这样一般的需求都可以实现,显示简单的windows窗口代码如下: python_gui.py 1 #!C:\Python27\python.e ...

  5. python大法好——ython GUI编程(Tkinter)

    Python GUI编程(Tkinter) Python 提供了多个图形开发界面的库,几个常用 Python GUI 库如下: Tkinter: Tkinter 模块(Tk 接口)是 Python 的 ...

  6. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)

    一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 二.Tkinter 是什么 三.Tkinter 控件详细介绍 1. T ...

  7. Python内建GUI模块Tkinter(一)

    Python主窗口 Python特定的GUI界面,是一个图像的窗口,tkinter是python自带的,可以编辑的GUI界面,我们可以用GUI实现很多一个直观的功能,如何想开发一个计算器,如果只是一个 ...

  8. Python又把GUI界面攻下了,今天就告诉你怎么玩

    0.引言 学Python这么久了,一直想做个界面出来,最近发现Python有个内置库tkinter,利用它可以很轻松做出一些简易的UI界面,首先来看Python官方对Tkinter的说明: The t ...

  9. Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) JAVA日志的前世今生 .NET MVC采用SignalR更新在线用户数 C#多线程编程系列(五)- 使用任务并行库 C#多线程编程系列(三)- 线程同步 C#多线程编程系列(二)- 线程基础 C#多线程编程系列(一)- 简介

    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了) 一.前言 由于本篇文章较长,所以下面给出内容目录方便跳转阅读,当然也可以用博客页面最右侧的文章目录导航栏进行跳转查阅. 一.前言 ...

随机推荐

  1. Oracle客户端安装以及PL/SQL Developer安装方法

    1,安装Oracle客户端 2,配置数据库,如下: 安装路径:D:\app\ThinkPad\product\11.2.0\client_1\network\admin 建立文件:tnsnames.o ...

  2. zabbix fast

    源码安装步骤 来源它站: 官方文档:https://www.zabbix.com/documentation/2.4/manual/installation/install#from_the_sour ...

  3. Apache的主要目录和配置文件详解

    一.Apache 主要配置文件注释Apache的主配置文件:/etc/httpd/conf/httpd.conf默认站点主目录:/var/www/html/Apache服务器的配置信息全部存储在主配置 ...

  4. C/C++面试问题分类大汇总 ZZ 【C++】

    http://www.mianwww.com/html/2014/05/21208.html 指针和引用的区别 指针指向一块内存,它的内容是指向内存的地址:引用是某内存的别名 引用使用是无需解引用,指 ...

  5. CentOS7中永久保存systemd日志

    将systemd的日志写入磁盘: 1.在/var/log/目录下创建日志存放目录,并加入systemd-journal的权限: ~]#mkdir /var/log/journal ~]#chown r ...

  6. VC listBox控件的方法

    获取listBox里所有行数 GetCount(); 设置某行的选中状态 SetSel(index,true);第一个参数是行号,第二个参数是否选中

  7. 安装kubernetes 环境

    master: 10.6.2.170     #master节点兼做仓库 node-1: 10.6.2.171 node-2: 10.6.2.172 1.添加host解析 # cat << ...

  8. 沉淀再出发:mongodb的使用

    沉淀再出发:mongodb的使用 一.前言 这是一篇很早就想写却一直到了现在才写的文章.作为NoSQL(not only sql)中出色的一种数据库,MongoDB的作用是非常大的,这种文档型数据库, ...

  9. 最新php环境搭建,2017年最新PHP环境搭建

    使用PHPWAMP8.8.8.8IN纯绿色集成环境搭建php网站很方便,哪怕你系统没安装vc.系统dll丢失或者损坏的时候,phpwamp也可以正常启动,是个很强大的php套件. php环境搭建,支持 ...

  10. iOS测试基础(命令篇)-iPhone型号及其他信息

    首先安装libimobiledevice和ideviceinstaller brew uninstall ideviceinstaller brew uninstall libimobiledevic ...