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

yipeiwu_com5年前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实现随机漫步算法

本文实例为大家分享了python实现随机漫步的具体代码,供大家参考,具体内容如下 编写randomwalk类 from random import choice class ra...

Python中用pycurl监控http响应时间脚本分享

最近需要对节点到源站自己做个监控,简单的ping可以检测到一些东西,但是http请求的检查也要进行,于是就研究了下pycurl。 pycurl是个用c语言实现的python 库,虽然据说...

Collatz 序列、逗号代码、字符图网格实例

1.collatz序列 编写一个名为 collatz()的函数,它 有一个名为 number 的参数。如果参数是偶数, 那么 collatz()就打印出 number // 2,并返回该...

window7下的python2.7版本和python3.5版本的opencv-python安装过程

花费了整整2天的时间终于学会安装了opencv,换系统的心都有了,由于ubuntu实在不会玩,看来还是老老实实在windows下安装吧,以此作为记录方便以后安装 python2.7版本的...

Python使用flask框架操作sqlite3的两种方式

本文实例讲述了Python使用flask框架操作sqlite3的两种方式。分享给大家供大家参考,具体如下: 方式一:raw_sql import sqlite3 from flask...