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

yipeiwu_com6年前Python基础

一、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()

三、运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用文件锁实现进程间同步功能【基于fcntl模块】

本文实例讲述了Python使用文件锁实现进程间同步功能。分享给大家供大家参考,具体如下: 简介 在实际应用中,会出现这种应用场景:希望shell下执行的脚本对某些竞争资源提供保护,避免出...

python 将有序数组转换为二叉树的方法

python 将有序数组转换为二叉树的方法

题目:将[0,1,2,3,4,5,6,7,8,9,10]存储到二叉树,原数组有序,转换为二叉排序树。 二叉排序树的特点:当前节点的左子树上的所有节点都小于该节点,右子树上的所有节点都小于...

在Python中使用Neo4j数据库的教程

在Python中使用Neo4j数据库的教程

 一个快速的REST例子 首先来看些基本知识。如果没有服务API,Neo4j就不能支持其他语言。该接口提供一组基于JSON消息格式的RESTful Web服务和一个全面的发现机...

opencv实现简单人脸识别

opencv实现简单人脸识别

对于opencv 它提供了许多已经练习好的模型可供使用,我们需要通过他们来进行人脸识别 参考了网上许多资料  假设你已经配好了开发环境 ,在我之前的博客中由开发环境的配置。 项...

Python中文分词实现方法(安装pymmseg)

本文实例讲述了Python中文分词实现方法。分享给大家供大家参考,具体如下: 在Python这pymmseg-cpp 还是十分方便的! 环境 ubuntu10.04 , python2....