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(由于时间版本有点久,在2.7环境下我也不知道还可不可以运行,如果想尝试,请看下面python3.6版的)
# -*- 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 = ''
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()
2019.4.10日更新 Python3.6版本(正常运行没有问题)
# -*- coding:utf-8 -*-
from tkinter import * # Python3.6环境下,建议使用python3以上的版本。
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 = ''
img_url = start_url + re.findall(reg, result.decode('utf-8'))[0]
response = requests.get(img_url).content
# 将生成的签名图片下载到本地
with open('{}.gif'.format(name.decode('utf-8')), 'wb') as f:
f.write(response)
try:
im = Image.open('{}.gif'.format(name.decode('utf-8')))
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()