Python库学习Tkinter制作GUI个性签名设计软件

目录
  • Tkinter简介
  • 获取个性签名图
  • 设计软件GUI界面
  • 下拉列表框
  • 设计界面

人生苦短,快学Python!

上一周发了一篇文章《Python Tkinter图形工具使用方法及实例解析》,很多小伙伴都希望能多出点教程,今天就来了。

Tkinter简介

由于Tkinter是Python自带的标准库,我们想要使用它的时候,只需直接导入即可。

from tkinter import *

Tkinter支持的组件有:

对于简单的图形界面 Tkinter 还是能应付自如,不过相对于PyQt5做出的界面不够美观,相对于Pysimplegui则显得代码太笨重。这两个库埋个坑,后面开一篇单独介绍。

今天的整体思路就是:先选择一个在线签名网站,找到接口模拟请求,然后将生成的签名图片下载到本地,最后显示在 Tkinter 生成的 GUI 窗口上。

获取个性签名图

在制作个性签名软件前,第一件事是先找到一个合适的网站,获取他们的接口。

为啥说要找合适的网站呢?

某搜索引擎 一搜"签名设计",那真的是花里胡哨啊,我的审美被一顿冲击。“乱花丛中”找了一圈,才挑到一个稍微正常一点的网站。

网站地址:http://www.yishuzi.com/b/13.htm

F12开发者模式,选择 Network。手动将配色调整为#000000黑色,背景调整为#FFFFFF白色,随便输入一个名字,点击生成。

非常轻松,就可以找到该网站生成签名发送的请求。如下所示:

废话不多说,直接上Python!

通过requests.post()请求该网址,并导入参数。

其中最重要的参数有两个: id对应的是带生成名字,id1对应的是艺术字体。

import requests
from urllib.request import urlretrieve
url = 'http://www.yishuzi.com/b/re13.php'
d = requests.post(url, data={'id': '测试签名', 'zhenbi': '20191123',
                             'id1': '904', 'id2': '#FFFFFF',
                             'id4': '#000000', 'id6': '#000000'})
d.content.decode("utf-8")

可以看到,post()返回的是带有链接的字符串。

轻松就可以从返回的字符串中,提取到生成的增长的个性签名图片。然后用urlretrieve()下载图片到本地,最后将其封装为自定义函数。

def create_sign(word):
    url = 'http://www.yishuzi.com/b/re13.php'
    d = requests.post(url, data={'id': word, 'zhenbi': '20191123',
                                 'id1': '904', 'id2': '#FFFFFF', 'id4': '#000000', 'id6': '#000000'})
    myurl = d.content.decode("utf-8").split('"')[1]
    urlretrieve(myurl, word + '.png')

后续在设计软件GUI界面时,直接调用这个函数,就可以直接生成个性签名了。

设计软件GUI界面

下载签名图片函数create_sign()已经创建好,工作实际就完成了一半。

剩下就是我们设计软件界面了,不妨先简单画个草图。

这里主要要用到:Label(标签控件)、Entry(输入控件)、 Button(按钮控件)、Frame(框架控件)以及选择字体时,需要用到的Combobox(下拉列表框)。

前面的控件都介绍过,具体看这一篇8000字,Tkinter详细使用教程!,这里只重点讲一下下拉列表框

下拉列表框

Python 窗体(Tkinter)下拉列表框Combobox。它是在Tkinter模块下的ttk模块的一个部件,产生的效果是一个下拉列表框,它是GUI当中的一个装饰(widget)。当用户点击下拉列表获取值的时候是从列表当中选取的,那么就会产生一个名为<<ComboboxSelected>>的虚拟事件。

其常见的几个参数有:

语法 作用
cv = tk.stringVar() 绑定变量
com = ttk.Combobox(root, textvariable=cv) 创建下拉框
com.pack() 放置下拉框
com[“value”] = (‘文本',文本') 设置下拉数据
com.current(索引) 设置默认值
demo = com.get() 变量接受值
com.bind("<>", 函数名) 下拉数据点击调用函数

简单用一个小例子帮助大家理解。

import tkinter
from tkinter import ttk
root = tkinter.Tk()
root.geometry("400x200")
xVariable = tkinter.StringVar()   #创建变量
com = ttk.Combobox(root, textvariable=xVariable)  #创建下拉菜单
com.pack()     #将下拉菜单绑定到窗体
com["value"] = ("选项1", "选项2", "选项3", "选项4")
com.current(0)   #设定下拉菜单的默认值
root.mainloop()

运行后,效果如下所示。

这样我们再通过com.get(),就可以获取下拉框中,最后选择的值了。

设计界面

剩下的界面设计就简单多了,只需要将Label(标签控件)、Entry(输入控件)、 Button(按钮控件)、Frame(框架控件)、Combobox(下拉列表框)排列一下。

回想一下前面画的草图,开整!

规定窗口大小为600x400,再设置窗口的基本属性。

所有组件都采用place几何方法,将组件的大小及布局,进行合理的规划。同时,Button组件也都与其对应的功能函数create_sign(word),进行了链接。

部分代码如下所示,完整代码见文末。

root = Tk()
root.title("签名设计 by:快学Python")
root.geometry("600x400")
bg_image = PhotoImage(file = 'background.png')
bg_label = Label(root, image = bg_image)
bg_label.place(relwidth = 1, relheight = 1)
frame = Frame(root, bg = '#edcc79', bd = 5)
frame.place(relx = 0.5, rely = 0.1, relwidth = 0.75, relheight = 0.1,anchor = 'n')
font_label = Label(frame, text = '输入签名:', font = ('微软雅黑', 16), fg ='black')
font_label.place(relwidth = 0.25, relheight = 1)
name_entry = Entry(frame, font = ('微软雅黑', 16))

最终成品,展示一下。

输入名字,点击生成,一气呵成!不同风格,一键转换!

这样,我们就又完成了一个Tkinter实战小案例。

以上就是Python库学习Tkinter制作GUI个性签名设计软件的详细内容,更多关于Python库Tkinter制作GUI应用的资料请关注我们其它相关文章!

(0)

相关推荐

  • python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)

    更新: 2017.07.17 补充滚动条.win批处理拉起py 2017.08.13 新增自定义图标 一.背景: 1.工作中自己及同事在查数据库.测试接口时需要对一些字符串或json串作预处理,目前这些问题网上均有在线转换的工具,但很繁杂,可能需要打开几个网页窗口: 2.之前做的文本处理工具是基于cmd命令行的,不太友好: 3.自己做的一些小工具也基本都是命令行执行的,也想接触下GUI: 基于以上,了解到python自带的tkinter库可以初步满足UI的需求,业余时间做了个图形化工具,涉及窗口

  • Python GUI Tkinter简单实现个性签名设计

    一.Tkinter的介绍和简单教程 Tkinter 是 Python 的标准 GUI 库.Python 使用 Tkinter 可以快速的创建 GUI 应用程序. 由于 Tkinter 是内置到 python 的安装包中.只要安装好 Python 之后就能 import Tkinter 库.而且 IDLE 也是用 Tkinter 编写而成.对于简单的图形界面 Tkinter 还是能应付自如. 注意:Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写. import tki

  • python3使用tkinter实现ui界面简单实例

    复制代码 代码如下: import timeimport tkinter as tk class Window:    def __init__(self, title='nms', width=300, height=120, staFunc=bool, stoFunc=bool):        self.w = width        self.h = height        self.stat = True        self.staFunc = staFunc       

  • Python生成个性签名图片获取GUI过程解析

    这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 先来看看程序运行的样子: 所以,程序的原理是 从一个url = ' http://www.uustv.com/ '中爬取个性签名的图片. 在该网页中审查该图片的元素,然后找到该图片的imgur 使用正则表达式直接定位 程序的后面使用到了tkinter的 GUI简易界面,用于和用户的简单交互,非常方便. 整个程序的完整代码如下: (有任

  • Python爬虫+Tkinter制作一个翻译软件的示例

    今天咱们用Python爬虫和Tkinter界面来做一个翻译软件. 一.运行效果 软件实现功能:当我们输入英文或中文时,程序即可打印出来对应的译文,如图: 二.实现方法 1. 爬虫部分 实现一键翻译最简单的方式就是爬虫,我们只需将要翻译的内容传入,然后将翻译的结果爬取下来呈现给用户即可.在本文中,我们选择的网站是有道翻译. 下图这个界面,你在左边输入文字,那么浏览器会把你输入的信息传输给服务器.再在右侧返回对应翻译结果.这就是一个典型的Post操作. 由于之前我们的爬取都是采用的Get方式来获取数

  • Python库学习Tkinter制作GUI个性签名设计软件

    目录 Tkinter简介 获取个性签名图 设计软件GUI界面 下拉列表框 设计界面 人生苦短,快学Python! 上一周发了一篇文章<Python Tkinter图形工具使用方法及实例解析>,很多小伙伴都希望能多出点教程,今天就来了. Tkinter简介 由于Tkinter是Python自带的标准库,我们想要使用它的时候,只需直接导入即可. from tkinter import * Tkinter支持的组件有: 对于简单的图形界面 Tkinter 还是能应付自如,不过相对于PyQt5做出的界

  • Python+Tkinter制作在线个性签名工具

    目录 一.首先确定GUI界面: 二.爬取我们需要的内容 三.完整代码 思路:先选择在线签名网站,找到接口模拟请求,然后将生成的签名图片显示在 Tkinter 生成的 GUI 窗口上,最后保存生成的签名图片 选择网址为:http://www.uustv.com/ 首先了解爬虫的基本步骤: 发起请求 :即发送一个Request,可能包含额外的headers,data等信息 获取响应内容 :得到网页的HTML文件内容 解析内容:可以使用正则表达式提取出想要的内容 保存数据:将数据存为文本,或mp3,m

  • python3个性签名设计实现代码

    本文实例为大家分享了python个性签名设计的具体代码,供大家参考,具体内容如下 参考博客:Python GUI Tkinter简单实现个性签名设计 参考博客:python3爬虫之设计签名小程序 Code from tkinter import * from tkinter import messagebox import requests import re from PIL import Image,ImageTk #模拟浏览器发送请求 def download(): startUrl =

  • python如何爬取个性签名

    思路 改进原博主文章(Python GUI–Tkinter简单实现个性签名设计)的代码,原先的代码是基于Python2的,我这份代码基于Python3 并针对当前的网站做了相应调整 前置要求 Python 3.X tkinter PIL 完整代码 # -*- coding:utf-8 -*- from tkinter import * import tkinter import requests import re from PIL import Image def download(): st

  • Python+Tkinter制作专属图形化界面

    目录 介绍 tkinter的简单应用 显示窗口 设置窗口大小 调整窗口位置(使用的是同一个方法) 设置窗口的标题 添加标签控件,并定位 添加输入框,并定位 调整控件的摆放位置 添加点击按钮 点击按钮自定义功能 介绍 本期案例是带着大家制作一个属于自己的GUI图形化界面—>用于设计签名的哦(效果如下图),是不是感觉很好玩,是不是很想学习呢?限于篇幅,今天我们首先详细讲述一下Tkinter的使用方法.本来不准备详细讲述这个基础知识,但是我怕那些想学习的同学,学起来不过瘾,还是补充了这一章. tkin

  • python爬取个性签名的方法

    本文实例为大家分享了python爬取个性签名的具体代码,具体内容如下 #coding:utf-8 #import tkinter from tkinter import * from tkinter import messagebox import requests import re from PIL import Image def download(): start_url = 'http://www.uustv.com/' name = entry.get().encode('utf-8

  • Python+Tkinter打造签名设计工具

    目录 1.概述 2.网页分析 1)网页缺陷 2)页面分析 3)数据的获取 3.完整代码 4.总结 1.概述 前面我们已经详细的介绍了,怎么使用Tkinter创建属于自己的窗口界面了.整体布局呢我们已经搭建起来,唯一没有实现的一个步骤就是,用户每输入一个名字,就会将个性签名一并显示在这个窗口界面中,今天我就带着大家一起完成这个需求. 今天的文章可以看成是爬虫+Tkinter窗口的结合.昨天我们完成了Tkinter窗口搭建过程,今天需要做的就是利用爬虫得到我们最终想要的个性化签名.网上在线签名网站特

  • 2021年最新用于图像处理的Python库总结

    一.OpenCV OpenCV是最著名和应用最广泛的开源库之一,用于图像处理.目标检测.人脸检测.图像分割.人脸识别等计算机视觉任务.除此之外,它还可以用于机器学习任务. 这是英特尔在2002年开发的.它是用C++编写的,但是开发人员已经提供了Python和java绑定.它易于阅读和使用. 为了建立计算机视觉和机器学习模型,OpenCV有超过2500种算法.这些算法对于执行各种任务非常有用,例如人脸识别.目标检测等.让我们看一些可以使用OpenCV执行的示例: 灰度缩放 灰度缩放是一种将3通道图

随机推荐