Python GUI Tkinter简单实现个性签名设计
时间:2019-04-20
本文章向大家介绍Python GUI Tkinter简单实现个性签名设计,主要包括Python GUI Tkinter简单实现个性签名设计使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、Tkinter的介绍和简单教程
Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。
由于 Tkinter 是内置到 python 的安装包中、只要安装好 Python 之后就能 import Tkinter 库、而且 IDLE 也是用 Tkinter 编写而成、对于简单的图形界面 Tkinter 还是能应付自如。
注意:Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。
import tkinter
创建一个GUI程序
1、导入 Tkinter 模块
2、创建控件
3、指定这个控件的 master, 即这个控件属于哪一个
4、告诉 GM(geometry manager) 有一个控件产生了。
实例示例:
Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。
目前有15种Tkinter的部件。我们提出这些部件以及一个简短的介绍,在下面的表:
标准属性
标准属性也就是所有控件的共同属性,如大小,字体和颜色等等。
几何管理
Tkinter控件有特定的几何状态管理方法,管理整个控件区域组织,一下是Tkinter公开的几何管理类:包、网格、位置
二、个性签名实现代码
本次代码运行环境是python2.7
# -*- coding:utf-8 -*- from Tkinter import * # python 3 是tkinter import tkMessageBox import requests import re from PIL import Image def download(): start_url = 'http://www.uustv.com/' name = entry.get().encode('utf-8') if not name: tkMessageBox.showinfo('提示', '请输入姓名再设计!') return data = { 'word': name, 'sizes': '60', 'fonts': 'jfcs.ttf', 'fontcolor': '#000000' } result = requests.post(start_url, data=data).content reg = '<div class="tu"><img src="(.*?)"/></div>' img_url = start_url + re.findall(reg, result)[0] response = requests.get(img_url).content # 将生成的签名图片下载到本地 with open('{}.gif'.format(name.decode('utf-8').encode('gbk')), 'wb') as f: f.write(response) try: im = Image.open('{}.gif'.format(name.decode('utf-8').encode('gbk'))) im.show() except: print '自己打开看吧' root = Tk() root.title('个性签名设计') root.geometry('+800+300') # 设置窗口出现在屏幕上面的位置 Label(root, text='姓名', font=('微软雅黑', 15)).grid() # 布局方法不要混用 entry = Entry(root, font=('微软雅黑', 15)) entry.grid(row=0, column=1) button = Button(root, text='设计签名', font=('微软雅黑', 15), width='15', height=1, command=download) button.grid(row=1, column=1) root.mainloop()
三、运行结果
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- Dapper扩展之~~~Dapper.Contrib
- JVM活学活用——GC算法 垃圾收集器
- BZOJ1101: [POI2007]Zap(莫比乌斯反演)
- freeRTOS事件组学习
- 洛谷P2522 [HAOI2011]Problem b(莫比乌斯反演)
- JVM活学活用——优化springboot
- .Net中的AOP读书笔记系列之AOP介绍
- 洛谷P3327 [SDOI2015]约数个数和(莫比乌斯反演)
- .Net中的AOP系列之构建一个汽车租赁应用(上)
- Modbus RTU驱动程序开发指引
- freeRTOS任务创建
- 洛谷P4213 Sum(杜教筛)
- JVM活学活用——调优工具
- .Net中的AOP系列之构建一个汽车租赁应用(下)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CentOS7升级内核kernel5.0版本
- 详解ubuntu14.04如何设置静态IP的方法
- linux安装图形化界面的操作方法
- Apache FlinkCEP 实现超时状态监控的步骤详解
- 解决Centos7下crontab+shell脚本定期自动删除文件问题
- 详解在Ubuntu上的Apache配置SSL(https证书)的正确姿势
- 如何在 Linux 中查找一个命令或进程的执行时间
- Ubuntu 18.04 LTS中配置IP地址的完整步骤
- Linux系统下Nginx支持ipv6配置的方法
- 微信研发体系下的分布式配置系统设计概要
- Linux双网卡绑定脚本的方法示例
- Serverless 有一百种玩法,比好玩更好玩
- 如何在容器服务中获取客户端真实源IP
- Linux服务器间文件实时同步的实现
- centos7 设置grub密码及单用户登录实例代码