Python+tkinter制作經(jīng)典登錄界面和點(diǎn)擊事件
前言
Tkinter(即 tk interface) 是 Python 標(biāo)準(zhǔn) GUI 庫(kù),簡(jiǎn)稱(chēng) “Tk”;從本質(zhì)上來(lái)說(shuō),它是對(duì) TCL/TK 工具包的一種 Python 接口封裝。
Tkinter 是 Python 自帶的標(biāo)準(zhǔn)庫(kù),因此無(wú)須另行安裝,它支持跨平臺(tái)運(yùn)行,不僅可以在 Windows 平臺(tái)上運(yùn)行,還支持在 Linux 和 Mac 平臺(tái)上運(yùn)行。
Tkinter 編寫(xiě)的程序,也稱(chēng)為 GUI 程序,GUI (Graphical User Interface)指的是“圖形用戶(hù)界面”,它是計(jì)算機(jī)圖形學(xué)(CG)的一門(mén)分支,主要研究如何在計(jì)算機(jī)中表示圖形,以及利用計(jì)算機(jī)進(jìn)行圖形的計(jì)算、處理和顯示等相關(guān)工作。
GUI 這一概念并非 Python 語(yǔ)言獨(dú)有,它屬于計(jì)算機(jī)科學(xué)技術(shù)領(lǐng)域中的一個(gè)概念,比如使用 C/C++ 語(yǔ)言開(kāi)發(fā)的 Qt、GTK、Electron 等都屬于 GUI 軟件包
環(huán)境使用
Python 3.8
Pycharm
模塊使用
tkinter
PIL
代碼部分
導(dǎo)入模塊
import tkinter as tk import tkinter.messagebox from PIL import Image, ImageTk
先做一個(gè)大小合適的窗口
root = tk.Tk()
root.title('軟件登陸界面')
root.geometry('369x200+500+500')
root.mainloop()

賬號(hào)密碼輸入框
# 用戶(hù)登陸
tk.Label(root, text='用戶(hù)登陸', font=('微軟雅黑', 20)).grid(row=0, column=0, columnspan=10)
# 登陸賬號(hào)
tk.Label(root, text='登陸賬號(hào):', font=('微軟雅黑', 15)).grid(row=1, column=0, padx=10)
# 賬號(hào)輸入框
account_va = tk.StringVar()
tk.Entry(root, textvariable=account_va).grid(row=1, column=1, padx=5)
# 登陸密碼
tk.Label(root, text='登陸密碼:', font=('微軟雅黑', 15)).grid(row=2, column=0, padx=10)
# 密碼輸入框
password_va = tk.StringVar()
tk.Entry(root, textvariable=password_va, show='*').grid(row=2, column=1, padx=5)

點(diǎn)擊按鈕
# 登陸賬號(hào)
tk.Label(root, text='登陸賬號(hào):', font=('微軟雅黑', 15)).grid(row=1, column=0, padx=10)
# 注冊(cè)賬號(hào)
tk.Button(root, text='忘記密碼',font=('微軟雅黑'), relief="flat").grid(row=2, column=2, padx=10)
# 登陸按鈕
tk.Button(root, text='登陸', font=('微軟雅黑'), bg='red', fg='white', width=10, relief="flat").grid(row=3, column=0, columnspan=10)
tk.Label(root, text='公共用戶(hù)名:admin 登陸密碼:123456', fg='gray').grid(row=4, column=0, columnspan=10, pady=15)

點(diǎn)擊事件綁定
登錄
def Land():
if account_va.get() == 'admin' and password_va.get() == '123456':
tkinter.messagebox.showinfo(title='溫馨提示', message='哈哈哈哈哈, 騙你的, 怎么會(huì)把密碼告訴你呢')
tkinter.messagebox.showinfo(title='溫馨提示', message='你可以點(diǎn)擊注冊(cè)會(huì)員試試')
else:
tkinter.messagebox.showerror(title='警告', message='你的賬號(hào)密碼有問(wèn)題, 也可以點(diǎn)擊注冊(cè)會(huì)員')
忘記密碼
def ForgetPassword():
tkinter.messagebox.showerror(title='錯(cuò)誤', message='你根本就沒(méi)有密碼, 你心里沒(méi)數(shù)?')
注冊(cè)
def RegisterAnAccount():
top = tk.Toplevel()
top.title("掃碼添加")
top.geometry('640x750+500+500')
# 導(dǎo)入圖片
image = Image.open('img.png')
tk_image = ImageTk.PhotoImage(image)
# 在標(biāo)簽里放入圖片
tk.Label(top, image=tk_image).pack()
top.mainloop()
最后效果

到此這篇關(guān)于Python+tkinter制作經(jīng)典登錄界面和點(diǎn)擊事件的文章就介紹到這了,更多相關(guān)Python tkinter登錄界面內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)二維數(shù)組的對(duì)角線遍歷
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)二維數(shù)組的對(duì)角線遍歷,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03
三步實(shí)現(xiàn)Django Paginator分頁(yè)的方法
這篇文章主要介紹了三步實(shí)現(xiàn)Django Paginator分頁(yè)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
關(guān)于spring的@Bean注解放入引用Bean中初始化失敗分析
這篇文章主要介紹了關(guān)于spring的@Bean注解放入引用Bean中初始化失敗分析,Spring的@Bean注解用于告訴方法,產(chǎn)生一個(gè)Bean對(duì)象,然后這個(gè)Bean對(duì)象交給Spring管理,產(chǎn)生這個(gè)Bean對(duì)象的方法Spring只會(huì)調(diào)用一次,需要的朋友可以參考下2023-07-07
pyTorch深度學(xué)習(xí)softmax實(shí)現(xiàn)解析
這篇文章主要介紹了pytorch深度學(xué)習(xí)中對(duì)softmax實(shí)現(xiàn)進(jìn)行了詳細(xì)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-09-09
Python?Matplotlib繪制箱線圖boxplot()函數(shù)詳解
箱線圖一般用來(lái)展現(xiàn)數(shù)據(jù)的分布(如上下四分位值、中位數(shù)等),同時(shí)也可以用箱線圖來(lái)反映數(shù)據(jù)的異常情況,下面這篇文章主要給大家介紹了關(guān)于Python?Matplotlib繪制箱線圖boxplot()函數(shù)的相關(guān)資料,需要的朋友可以參考下2022-07-07

