Skip to content

Commit 618d7df

Browse files
committed
提交代码
1 parent 3c6ea19 commit 618d7df

File tree

2 files changed

+100
-0
lines changed

2 files changed

+100
-0
lines changed

xianhuan/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ Python技术 公众号文章代码库
1010

1111
## 实例代码
1212

13+
[牛逼!用Python为她设计专属签名软件](https://github.com/JustDoPython/python-examples/tree/master/xianhuan/artname):牛逼!用Python为她设计专属签名软件
14+
1315
[利用搜索指数窥探舆情](https://github.com/JustDoPython/python-examples/tree/master/xianhuan/bdindex):利用搜索指数窥探舆情
1416

1517
[程序员奶爸必修课——用 pygame 写小游戏](https://github.com/JustDoPython/python-examples/tree/master/xianhuan/circlegame):程序员奶爸必修课——用 pygame 写小游戏

xianhuan/artname/artname.py

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
"""
4+
@author: 闲欢
5+
"""
6+
from tkinter import Tk, Label, Entry, ttk, Button, StringVar
7+
from urllib.request import urlretrieve
8+
9+
import requests
10+
import re
11+
from PIL import Image, ImageTk
12+
13+
14+
class artName:
15+
def __init__(self, init_window_name):
16+
self.init_window_name = init_window_name
17+
18+
def get_sign(self):
19+
name = self.name_entry.get()
20+
font = self.combox_list.get()
21+
mapping_list = {
22+
"行书签": "6.ttf",
23+
"超级艺术签": "7.ttf",
24+
"潇洒签": "8.ttf",
25+
"手写连笔字": "9.ttf",
26+
"行草签": "11.ttf",
27+
"花式签": "12.ttf",
28+
"温柔女生": "13.ttf",
29+
"个性签": "15.ttf",
30+
"商务签": "16.ttf",
31+
"正楷体": "17.ttf",
32+
"楷书签": "19.ttf",
33+
"情书签": "20.ttf",
34+
"卡通可爱签": "25.ttf"
35+
}
36+
url = 'http://www.kachayv.cn/'
37+
data = {
38+
'word': name,
39+
'fonts': mapping_list[font],
40+
'sizes': 60,
41+
'fontcolor': '#ffffff',
42+
'colors': '#FD5668'
43+
}
44+
result = requests.post(url, data=data)
45+
result.encoding = 'utf-8'
46+
html = result.text
47+
print(html)
48+
p = re.compile('<img id="showImg" src="cache/(.*?)"/>')
49+
match = p.findall(html)
50+
urlretrieve('http://www.kachayv.cn/cache/' + match[0], './pic.jpg')
51+
img = Image.open('./pic.jpg')
52+
photo = ImageTk.PhotoImage(img, master=self.init_window)
53+
self.pic_label.config(image=photo)
54+
self.pic_label.image=photo
55+
56+
57+
def draw_window(self):
58+
self.init_window = Tk()
59+
self.init_window.title("阿花专属签名设计")
60+
self.init_window.geometry("800x500")
61+
self.init_window.geometry("+400+200")
62+
63+
# 姓名
64+
self.name_label = Label(self.init_window, text='鼎鼎大名', font=('微软雅黑', 16), fg='black')
65+
self.name_label.grid(row=0, column=0, columnspan=1)
66+
self.name_entry = Entry(self.init_window, font=('宋体', 16))
67+
self.name_entry.grid(row=0, column=1)
68+
69+
# 选择字体模式
70+
self.font_label = Label(self.init_window, text='字体', font=('微软雅黑', 16), fg='black')
71+
self.font_label.grid(row=0, column=5, columnspan=1)
72+
self.combox_list = ttk.Combobox(self.init_window, textvariable=StringVar())
73+
self.combox_list.grid(row=0, column=6, sticky='W')
74+
self.combox_list["value"] = ("行书签", "超级艺术签", "潇洒签", "手写连笔字", "行草签", "花式签", "温柔女生", "个性签",
75+
"商务签", "正楷体", "楷书签", "情书签", "卡通可爱签")
76+
self.combox_list.current(0) # 选择第一个
77+
78+
# 触发按钮
79+
self.button = Button(self.init_window, text='美好来袭', font=('微软雅黑', 16), command=self.get_sign)
80+
self.button.grid(row=1, column=3, rowspan=2, sticky='W')
81+
82+
# 图片展示
83+
self.pic_label = Label(self.init_window)
84+
self.pic_label.grid(row=3, column=1, rowspan=10, columnspan=5, sticky='NW')
85+
86+
87+
88+
def gui_start():
89+
# 实例化出一个父窗口
90+
init_window = Tk()
91+
tool = artName(init_window)
92+
# 设置根窗口默认属性
93+
tool.draw_window()
94+
# 父窗口进入事件循环,可以理解为保持窗口运行,否则界面不展示
95+
init_window.mainloop()
96+
97+
98+
gui_start()

0 commit comments

Comments
 (0)