Tkinter簡單介紹
是綁定了 Python 的 Tk GUI 工具集 ,就是Python 包裝的Tcl代碼,通過內嵌在 Python 解釋器內部的 Tcl 解釋器實現, Tkinter
的調用轉換成 Tcl 命令,然後交給 Tcl 解釋器進行解釋,實現 Python 的 GUI 界面。
對比Tk和其它語言的綁定,比如 PerlTk ,是直接由 Tk 中的 C 庫實現的。
優點:
歷史最悠久, Python 事實上的標準 GUI , Python 中使用 Tk GUI 工具集的標準接口,已經包括在標準的 Python Windows 安
裝中,著名的 IDLE 就是使用 Tkinter 實現 GUI 的創建的 GUI 簡單,學起來和用起來也簡單。
附維基百科上的簡介:https://en.wikipedia.org/wiki/Tkinter
創建窗口
from tkinter import *
#創建窗口
window=Tk()
#創建標題
window.title("你喜歡我嗎?")
#窗口大小和位置(中間爲字母x)
window.geometry("380x420")
window.geometry("+500+240")
#window.geometry("380x420+500+240")
#顯示窗口(消息循環)
window.mainloop()
添加label和button控件
#標籤控件
label=Label(window,text="hey,小姐姐",font=("微軟雅黑",15),fg="red")
#定位 網格佈局 pack包 place位置
label.grid(row=0,column=0)
label1=Label(window,text="喜歡我嗎?",font=("微軟雅黑",30))
#對其方式sticky
label1.grid(row=1,column=1,sticky=E)
#顯示文件
photo=PhotoImage(file="cc.png")
imageLabel=Label(window,image=photo)
imageLabel.grid(row=2,columnspan=2)
#按鈕控件
but=Button(window,text="喜歡",height=2,width=15,command=Love)
but.grid(row=3,column=0,sticky=W)
but1=Button(window,text="不喜歡",command=unLove)
but1.grid(row=3,column=1,sticky=E)
當點擊喜歡button時
def Love():
"""點擊確定時關閉所有窗口,點擊關閉窗口按鈕無反應"""
#頂級窗口(和messagebox有區別)
love=Toplevel(window)
love.geometry('300x180+520+260')
love.title("好巧,我也是")
label=Label(love,text="好巧,我也是",font=("微軟雅黑",20))
label.pack()
label1=Label(love,text="加個微信吧~~",font=("微軟雅黑",20))
label1.pack()
entry=Entry(love,font=("微軟雅黑",18))
entry.pack()
btn=Button(love,text="確定",width=10,height=2,command=closeAllWindow)
btn.pack()
love.protocol("WM_DELETE_WINDOW",closelove)
def closelove():
return
當點擊不喜歡button時
def closeunLove():
#messagebox.showinfo("再考慮一下","再考慮一下")
unLove()
def unLove():
"""點擊不喜歡時,彈出的窗口。點擊好的,退出這個窗口,點擊關閉,重新彈出一個窗口"""
unlove=Toplevel(window)
unlove.geometry('300x100+520+260')
unlove.title("再考慮考慮")
label=Label(unlove,text="再考慮考慮",font=("微軟雅黑",25))
label.pack()
btn=Button(unlove,text="好的",width=10,height=2,command=unlove.destroy)
btn.pack()
unlove.protocol("WM_DELETE_WINDOW",closeunLove)
當點擊關閉窗口時不讓退出
from tkinter import messagebox
#用戶關閉窗口觸發的事件(第一個刪除窗口,第二個爲函數名,即過程)
window.protocol('WM_DELETE_WINDOW',closeWindow)
def closeWindow():
messagebox.showinfo(title="警告",message="好好回答,不許關閉")
pyinstaller的應用
- 在cmd裏面通過pip安裝pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyinstaller (使用國內的鏡像快很多)
- 按住shift鍵,右鍵點擊在此處打開命令窗口
- 使用命令pyinstaller -F xxx.py打包成.exe文件
- 想去掉黑窗口則輸入pyinstaller -F -w xxx.py
- 想修改圖標則輸入pyinstaller -F -i xx.ico xxx.py
- 圖標的類型是ico類型,可以在www.bitbug.com轉換成ico圖形,路徑什麼的最好沒有中文,否則易出現問題