超全!Tkinter 使用教程!4000字!
↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能
后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包
Tkinter的使用方法。本來(lái)不準(zhǔn)備詳細(xì)講述這個(gè)基礎(chǔ)知識(shí),但是我怕那些想學(xué)習(xí)的同學(xué),學(xué)起來(lái)不過癮,還是補(bǔ)充了這一章。
tkinter的簡(jiǎn)單應(yīng)用
Tkinter是Python的標(biāo)準(zhǔn)GUI庫(kù)。Python使用Tkinter可以快速地創(chuàng)建GUI應(yīng)用程序。當(dāng)然常用的GUI庫(kù)還有PyQt5,我們只需要知道這兩個(gè)常用的即可,如果你真的想學(xué)習(xí)的話。由于Tkinter屬于Python標(biāo)準(zhǔn)庫(kù),就不需要使用pip安裝,直接導(dǎo)入使用即可。① 顯示窗口
root.mainloop()顯示窗口;窗口默認(rèn)會(huì)顯示在電腦屏幕的左上角,非常小(后面需要改進(jìn));
from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?顯示窗口
root.mainloop()
"""
注意到:該窗口默認(rèn)的顯示位置在哪里,觀察我下面的截圖。
窗口默認(rèn)顯示在整個(gè)電腦屏幕的左上角,并且窗口大小特別小。
"""

② 設(shè)置窗口大小
root.geometry("600x400")調(diào)整窗口的大??;該方法中傳入的是"寬x高",但是需要注意這個(gè)乘號(hào)是小寫的英文字母x,而不是這個(gè)*表示的乘號(hào);
from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450")
#?顯示窗口
root.mainloop()

③ 調(diào)整窗口位置(使用的是同一個(gè)方法)
root.geometry("600x400+374+182")調(diào)整窗口的大小+位置;374,182表示的是窗口頂點(diǎn),距離電腦左上角的坐標(biāo)。這個(gè)數(shù)字怎么得到的呢?直接借助微信截圖就可以顯示了。

from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#?顯示窗口
root.mainloop()

④ 設(shè)置窗口的標(biāo)題
root.title()設(shè)置窗口的標(biāo)題;默認(rèn)的窗口標(biāo)題是tk;
from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#??窗口標(biāo)題
root.title("我的個(gè)性簽名設(shè)計(jì)")
#?顯示窗口
root.mainloop()

⑤ 添加標(biāo)簽控件,并定位
Label(root,text="簽名")添加標(biāo)簽控件第一個(gè)參數(shù)傳入的就是實(shí)例化的那個(gè)root窗口對(duì)象;第二個(gè)參數(shù)傳入的要顯示的那個(gè)標(biāo)簽文本; 僅僅添加標(biāo)簽控件后,還不行,必須要指定一個(gè)位置后,該標(biāo)簽控件才會(huì)真正展示出來(lái),即最后需要調(diào)用grid()方法后,才會(huì)顯示標(biāo)簽控件;
from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#??窗口標(biāo)題
root.title("我的個(gè)性簽名設(shè)計(jì)")
#?添加標(biāo)簽控件
label?=?Label(root)
#?定位
label.grid()
#?顯示窗口
root.mainloop()

from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#??窗口標(biāo)題
root.title("我的個(gè)性簽名設(shè)計(jì)")
#?添加標(biāo)簽控件
label?=?Label(root,text="簽名",font=("宋體",25),fg="red")
"""
text參數(shù)用于指定顯示的文本;
font參數(shù)用于指定字體大小和字體樣式;
fg參數(shù)用于指定字體顏色;
"""
#?定位
label.grid()
#?顯示窗口
root.mainloop()

⑥ 添加輸入框,并定位
Entry(root,font=("宋體",25),fg="red")添加輸入框第一個(gè)參數(shù)傳入的就是實(shí)例化的那個(gè)root窗口對(duì)象;第二個(gè)參數(shù)可寫可不寫,指的是我們輸入的字體的字體樣式和字體大??;第三個(gè)參數(shù)同樣可寫可不寫,表示的是我們輸入的字體的顏色。 同樣,僅僅使用上述代碼并不會(huì)顯示輸入框,只有調(diào)用grid()方法,定位后,才會(huì)真正顯示這個(gè)輸入框;
from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#??窗口標(biāo)題
root.title("我的個(gè)性簽名設(shè)計(jì)")
#?添加標(biāo)簽控件
label?=?Label(root,text="簽名",font=("宋體",25),fg="red")
#?定位
label.grid()
#?添加輸入框
entry?=?Entry(root,font=("宋體",25),fg="red")
entry.grid()
#?顯示窗口
root.mainloop()

⑦ 調(diào)整控件的擺放位置

from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#??窗口標(biāo)題
root.title("我的個(gè)性簽名設(shè)計(jì)")
#?添加標(biāo)簽控件
label?=?Label(root,text="簽名:",font=("宋體",25),fg="red")
#?定位
label.grid()
"""
label.grid()等價(jià)于label.grid(row=0,column=0)
"""
#?添加輸入框
entry?=?Entry(root,font=("宋體",25),fg="red")
entry.grid(row=0,column=1)
"""
row=0,column=1表示我們將輸入框控件,放在第1行第2列的位置;
python語(yǔ)言中,這個(gè)下標(biāo)是從0開始的。
"""
#?顯示窗口
root.mainloop()

⑧ 添加點(diǎn)擊按鈕
Button(root,text="簽名設(shè)計(jì)",font=("宋體",25),fg="red")添加輸入框第一個(gè)參數(shù)傳入的就是實(shí)例化的那個(gè)root窗口對(duì)象;第二個(gè)參數(shù)展示的是我們這個(gè)點(diǎn)擊按鈕的標(biāo)簽;第三個(gè)參數(shù)可寫可不寫,指的是點(diǎn)擊按鈕字體的字體樣式和字體大?。坏谒膫€(gè)參數(shù)同樣可寫可不寫,表示的是點(diǎn)擊按鈕字體的顏色。 同樣,僅僅使用上述代碼并不會(huì)顯示輸入框,只有調(diào)用grid()方法,定位后,才會(huì)真正顯示這個(gè)點(diǎn)擊按鈕;
from?tkinter?import?*
from?tkinter?import?messagebox
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#??窗口標(biāo)題
root.title("我的個(gè)性簽名設(shè)計(jì)")
#?添加標(biāo)簽控件
label?=?Label(root,text="簽名:",font=("宋體",25),fg="red")
#?定位
label.grid()
#?添加輸入框
entry?=?Entry(root,font=("宋體",25),fg="red")
entry.grid(row=0,column=1)
#?添加點(diǎn)擊按鈕
button?=?Button(root,text="簽名設(shè)計(jì)",font=("宋體",25),fg="blue")
button.grid(row=1,column=1)
#?顯示窗口
root.mainloop()

⑨ 點(diǎn)擊按鈕自定義功能
自定義函數(shù)。from?tkinter?import?*
from?tkinter?import?messagebox
def?func():
????print("我是黃同學(xué)")
#?創(chuàng)建窗口:實(shí)例化一個(gè)窗口對(duì)象。
root?=?Tk()
#?窗口大小
root.geometry("600x450+374+182")
#??窗口標(biāo)題
root.title("我的個(gè)性簽名設(shè)計(jì)")
#?添加標(biāo)簽控件
label?=?Label(root,text="簽名:",font=("宋體",25),fg="red")
#?定位
label.grid()
#?添加輸入框
entry?=?Entry(root,font=("宋體",25),fg="red")
entry.grid(row=0,column=1)
#?添加點(diǎn)擊按鈕
button?=?Button(root,text="簽名設(shè)計(jì)",font=("宋體",25),fg="blue",command=func)
button.grid(row=1,column=1)
"""
command=func表示調(diào)用最開始定義的func函數(shù)。
func函數(shù)一定要在這句代碼之前,因?yàn)檫@里需要調(diào)用這個(gè)func函數(shù)。
"""
#?顯示窗口
root.mainloop()

您看此文用? ?
?分?
?
秒,轉(zhuǎn)發(fā)只需1
評(píng)論
圖片
表情


?
?分?
?
秒,轉(zhuǎn)發(fā)只需1