利用tk創建一個可視化窗口:
from tkinter import *
# 創建窗口
root = Tk()
# 循環顯示
root.mainloop()
mainloop爲主循環,循環顯示窗口;
之後的主程序代碼都需要寫在mainloop之前,
run ===>
調整窗口大小,添加標題和相應文字:
from tkinter import *
# 創建窗口
root = Tk()
# 標題
root.title('簽名設計')
# 窗口大小
root.geometry('600x300+650+390')
# 標籤1
label = Label(root, text='名字', font='華文行楷, 20', fg='blue')
# 標籤位置
label.grid(row=0, column=0)
# 循環顯示
root.mainloop()
窗口大小爲600x300,中間爲小寫x,兩組加號分別爲窗口左上角的橫縱座標(打開窗口時窗口出現的位置),
可以獲取屏幕分辨率按比例顯示窗口位置:
wid = root.winfo_screenwidth()
hei = root.winfo_screenheight()
root.geometry('600x300+{}+{}'.format(wid//3, hei//3))
grid定位標籤在窗口中的位置,row爲第幾行,column爲第幾列
run===>
添加輸入窗口和按鈕:
# 輸入窗口
entry = Entry(root, font='華文行楷, 20')
# 窗口位置
entry.grid(row=0, column=1)
# 按鈕
button = Button(root, text='設計簽名', font='華文行楷, 20', fg='red')
# 按鈕位置
button.grid(row=1, column=0)
Entry爲輸入窗口,其中font爲輸入字體和大小,
Button爲按鈕及文本屬性
run ===>
當我們點擊按鈕時,需要獲取輸入的名字在設計簽名的網站上設計出的簽名,並在窗口中顯示出來,
--編寫獲取簽名並上傳的函數:
先添加點擊按鈕後的動作:
button = Button(root, text='設計簽名', font='華文行楷, 20', fg='red', command=download)
設計函數download:
def download():
# 獲取輸入名字
name = entry.get()
# 移除名字頭尾的空格
name = name.strip()
# 如果名字爲空格,則要求重新輸入
if name == '':
messagebox.showinfo('請輸入名字~')
else:
# 輸入正確時:從網站獲取簽名
data = {
'word': name,
'sizes': 60,
'fonts': 'jfcs.ttf',
'fontcolor': '#000000'
}
url = 'http://www.uustv.com/'
# 獲取html
result = requests.post(url, data)
result.encoding = 'utf8'
html = result.text
# 正則獲取簽名圖片地址
reg = '<div class="tu">.*?<img src="(.*?)"/></div>'
img_path = re.findall(reg, html)
imgurl = url + img_path[0]
response = requests.get(imgurl).content
# 下載圖片
with open('{}.gif'.format(name), 'wb') as f:
f.write(response)
# 顯示圖片
bm = ImageTk.PhotoImage(file='{}.gif'.format(name))
label2 = Label(root, image=bm)
label2.bm = bm
label2.grid(row=2, columnspan=2)
messagebox.showinfo()彈出提示框,
根據網頁,提取簽名圖片,
使用pyinstaller打包成.exe文件
pyinstaller -F -w *.py