一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

2022-01-11 00:39朱小五是凹凸君呀 Python

Tkinter 是 Python 中的標(biāo)準(zhǔn) GUI 庫,使用 Tkinter 可以快速地創(chuàng)建 GUI 應(yīng)用程序。今天我們打算再用一個小案例,帶大家加深對Tkinter的理解

人生苦短,快學(xué)Python!

上一周發(fā)了一篇文章《Python Tkinter圖形工具使用方法及實例解析》,很多小伙伴都希望能多出點教程,今天就來了。

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

 

Tkinter簡介

由于Tkinter是Python自帶的標(biāo)準(zhǔn)庫,我們想要使用它的時候,只需直接導(dǎo)入即可。

from tkinter import *

Tkinter支持的組件有:

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

對于簡單的圖形界面 Tkinter 還是能應(yīng)付自如,不過相對于PyQt5做出的界面不夠美觀,相對于Pysimplegui則顯得代碼太笨重。這兩個庫埋個坑,后面開一篇單獨介紹。

今天的整體思路就是:先選擇一個在線簽名網(wǎng)站,找到接口模擬請求,然后將生成的簽名圖片下載到本地,最后顯示在 Tkinter 生成的 GUI 窗口上。

 

獲取個性簽名圖

在制作個性簽名軟件前,第一件事是先找到一個合適的網(wǎng)站,獲取他們的接口。

為啥說要找合適的網(wǎng)站呢?

某搜索引擎 一搜"簽名設(shè)計",那真的是花里胡哨啊,我的審美被一頓沖擊。“亂花叢中”找了一圈,才挑到一個稍微正常一點的網(wǎng)站。

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

網(wǎng)站地址:http://www.yishuzi.com/b/13.htm

F12開發(fā)者模式,選擇 Network。手動將配色調(diào)整為#000000黑色,背景調(diào)整為#FFFFFF白色,隨便輸入一個名字,點擊生成。

非常輕松,就可以找到該網(wǎng)站生成簽名發(fā)送的請求。如下所示:

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

廢話不多說,直接上Python!

通過requests.post()請求該網(wǎng)址,并導(dǎo)入?yún)?shù)。

其中最重要的參數(shù)有兩個: id對應(yīng)的是帶生成名字,id1對應(yīng)的是藝術(shù)字體。

import requests
from urllib.request import urlretrieve
url = "http://www.yishuzi.com/b/re13.php"
d = requests.post(url, data={"id": "測試簽名", "zhenbi": "20191123",
                             "id1": "904", "id2": "#FFFFFF", 
                             "id4": "#000000", "id6": "#000000"})
d.content.decode("utf-8")

可以看到,post()返回的是帶有鏈接的字符串。

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

輕松就可以從返回的字符串中,提取到生成的增長的個性簽名圖片。然后用urlretrieve()下載圖片到本地,最后將其封裝為自定義函數(shù)。

def create_sign(word):
    url = "http://www.yishuzi.com/b/re13.php"
    d = requests.post(url, data={"id": word, "zhenbi": "20191123",
                                 "id1": "904", "id2": "#FFFFFF", "id4": "#000000", "id6": "#000000"})
    myurl = d.content.decode("utf-8").split(""")[1]
    urlretrieve(myurl, word + ".png")

后續(xù)在設(shè)計軟件GUI界面時,直接調(diào)用這個函數(shù),就可以直接生成個性簽名了。

 

設(shè)計軟件GUI界面

下載簽名圖片函數(shù)create_sign()已經(jīng)創(chuàng)建好,工作實際就完成了一半。

剩下就是我們設(shè)計軟件界面了,不妨先簡單畫個草圖。

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

這里主要要用到:Label(標(biāo)簽控件)、Entry(輸入控件)、 Button(按鈕控件)、Frame(框架控件)以及選擇字體時,需要用到的Combobox(下拉列表框)。

前面的控件都介紹過,具體看這一篇8000字,Tkinter詳細(xì)使用教程!,這里只重點講一下下拉列表框

 

下拉列表框

Python 窗體(Tkinter)下拉列表框Combobox。它是在Tkinter模塊下的ttk模塊的一個部件,產(chǎn)生的效果是一個下拉列表框,它是GUI當(dāng)中的一個裝飾(widget)。當(dāng)用戶點擊下拉列表獲取值的時候是從列表當(dāng)中選取的,那么就會產(chǎn)生一個名為<<ComboboxSelected>>的虛擬事件。

其常見的幾個參數(shù)有:

語法 作用
cv = tk.stringVar() 綁定變量
com = ttk.Combobox(root, textvariable=cv) 創(chuàng)建下拉框
com.pack() 放置下拉框
com[“value”] = (‘文本",文本") 設(shè)置下拉數(shù)據(jù)
com.current(索引) 設(shè)置默認(rèn)值
demo = com.get() 變量接受值
com.bind("<>", 函數(shù)名) 下拉數(shù)據(jù)點擊調(diào)用函數(shù)

簡單用一個小例子幫助大家理解。

import tkinter
from tkinter import ttk
root = tkinter.Tk()
root.geometry("400x200") 
xVariable = tkinter.StringVar()   #創(chuàng)建變量
com = ttk.Combobox(root, textvariable=xVariable)  #創(chuàng)建下拉菜單
com.pack()     #將下拉菜單綁定到窗體
com["value"] = ("選項1", "選項2", "選項3", "選項4")
com.current(0)   #設(shè)定下拉菜單的默認(rèn)值
root.mainloop()

運行后,效果如下所示。

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

這樣我們再通過com.get(),就可以獲取下拉框中,最后選擇的值了。

 

設(shè)計界面

剩下的界面設(shè)計就簡單多了,只需要將Label(標(biāo)簽控件)、Entry(輸入控件)、 Button(按鈕控件)、Frame(框架控件)、Combobox(下拉列表框)排列一下。

回想一下前面畫的草圖,開整!

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

規(guī)定窗口大小為600x400,再設(shè)置窗口的基本屬性。

所有組件都采用place幾何方法,將組件的大小及布局,進(jìn)行合理的規(guī)劃。同時,Button組件也都與其對應(yīng)的功能函數(shù)create_sign(word),進(jìn)行了鏈接。

部分代碼如下所示,完整代碼見文末。

root = Tk()
root.title("簽名設(shè)計 by:快學(xué)Python")
root.geometry("600x400")
bg_image = PhotoImage(file = "background.png")
bg_label = Label(root, image = bg_image)
bg_label.place(relwidth = 1, relheight = 1)
frame = Frame(root, bg = "#edcc79", bd = 5)
frame.place(relx = 0.5, rely = 0.1, relwidth = 0.75, relheight = 0.1,anchor = "n")
font_label = Label(frame, text = "輸入簽名:", font = ("微軟雅黑", 16), fg ="black")
font_label.place(relwidth = 0.25, relheight = 1)
name_entry = Entry(frame, font = ("微軟雅黑", 16))

最終成品,展示一下。

Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件

輸入名字,點擊生成,一氣呵成!不同風(fēng)格,一鍵轉(zhuǎn)換!

這樣,我們就又完成了一個Tkinter實戰(zhàn)小案例。

以上就是Python庫學(xué)習(xí)Tkinter制作GUI個性簽名設(shè)計軟件的詳細(xì)內(nèi)容,更多關(guān)于Python庫Tkinter制作GUI應(yīng)用的資料請關(guān)注服務(wù)器之家其它相關(guān)文章!

原文鏈接:https://blog.csdn.net/zhuxiao5/article/details/120443687

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美综合一区二区三区 | 91青青国产在线观看免费 | 日本不卡在线观看免费v | 91久久综合 | 好大好硬好湿好紧h | 日韩成a人片在线观看日本 日韩不卡一区二区 | 成人精品一区二区三区 | 11 13加污女qq看他下面 | 国产精品原创永久在线观看 | 91久久夜色精品国产九色 | 午夜精品国产自在现线拍 | caoporm国产精品视频免费 | zol中关村在线官网 yy6080欧美三级理论 | 性xxx免费 | 日本亚洲娇小与黑人tube | 99超级碰碰成人香蕉网 | aⅴ导航站| 3p文两男一女办公室高h | 色播开心网 | 欧美怡红院视频一区二区三区 | 色播艾小青国产专区在线播放 | 四虎影视在线观看永久地址 | 刺激一区仑乱 | 任我行视频在线观看国语 | 色综合久久天天综合 | 99精品视频免费在线观看 | 出差被灌醉绝伦的上司日本 | 日韩大片免费看 | www红色一片在线观看版 | 99热综合在线 | 天堂在线中文字幕 | 韩国激情网 | 国产一区二区三区水野朝阳 | 亚洲精品一区二区三区在线观看 | 久久久亚洲国产精品主播 | 干露露视频 性感写真 | 国产精品久久久久久久人人看 | 日韩精品特黄毛片免费看 | 99精品视频在线观看免费播放 | 扒开双腿猛进入爽爽视频ai | 久久亚洲精品中文字幕60分钟 |