Python GUI學(xué)習(xí)之登錄系統(tǒng)界面篇
導(dǎo)言篇:
我的python環(huán)境是:python3.6.5
這里我選擇的GUI編程包是:tkinter
tkinker在python2.5以后就是自帶包了,所以我們不需要另外安裝
tkinker相對與其他python GUI編程的包而已,是相對容易入手的
代碼篇:
#這是系統(tǒng)的登錄界面 import tkinter from tkinter import messagebox class Login(object): def __init__(self): # 創(chuàng)建主窗口,用于容納其它組件 self.root = tkinter.Tk() # 給主窗口設(shè)置標(biāo)題內(nèi)容 self.root.title("影視資源管理系統(tǒng)(離線版)") self.root.geometry('450x300') #運(yùn)行代碼時記得添加一個gif圖片文件,不然是會出錯的 self.canvas = tkinter.Canvas(self.root, height=200, width=500)#創(chuàng)建畫布 self.image_file = tkinter.PhotoImage(file='welcome_1.gif')#加載圖片文件 self.image = self.canvas.create_image(0,0, anchor='nw', image=self.image_file)#將圖片置于畫布上 self.canvas.pack(side='top')#放置畫布(為上端) #創(chuàng)建一個`label`名為`Account: ` self.label_account = tkinter.Label(self.root, text='Account: ') #創(chuàng)建一個`label`名為`Password: ` self.label_password = tkinter.Label(self.root, text='Password: ') # 創(chuàng)建一個賬號輸入框,并設(shè)置尺寸 self.input_account = tkinter.Entry(self.root, width=30) # 創(chuàng)建一個密碼輸入框,并設(shè)置尺寸 self.input_password = tkinter.Entry(self.root, show='*', width=30) # 創(chuàng)建一個登錄系統(tǒng)的按鈕 self.login_button = tkinter.Button(self.root, command = self.backstage_interface, text = "Login", width=10) # 創(chuàng)建一個注冊系統(tǒng)的按鈕 self.siginUp_button = tkinter.Button(self.root, command = self.siginUp_interface, text = "Sign up", width=10) # 完成布局 def gui_arrang(self): self.label_account.place(x=60, y= 170) self.label_password.place(x=60, y= 195) self.input_account.place(x=135, y=170) self.input_password.place(x=135, y=195) self.login_button.place(x=140, y=235) self.siginUp_button.place(x=240, y=235) # 進(jìn)入注冊界面 def siginUp_interface(self): # self.root.destroy() tkinter.messagebox.showinfo(title='影視資源管理系統(tǒng)', message='進(jìn)入注冊界面') # 進(jìn)行登錄信息驗(yàn)證 def backstage_interface(self): account = self.input_account.get().ljust(10," ") password = self.input_password.get().ljust(10," ") #對賬戶信息進(jìn)行驗(yàn)證,普通用戶返回user,管理員返回master,賬戶錯誤返回noAccount,密碼錯誤返回noPassword verifyResult = verifyAccount.verifyAccountData(account,password) if verifyResult=='master': self.root.destroy() tkinter.messagebox.showinfo(title='影視資源管理系統(tǒng)', message='進(jìn)入管理界面') elif verifyResult=='user': self.root.destroy() tkinter.messagebox.showinfo(title='影視資源管理系統(tǒng)', message='進(jìn)入用戶界面') elif verifyResult=='noAccount': tkinter.messagebox.showinfo(title='影視資源管理系統(tǒng)', message='該賬號不存在請重新輸入!') elif verifyResult=='noPassword': tkinter.messagebox.showinfo(title='影視資源管理系統(tǒng)', message='賬號/密碼錯誤請重新輸入!') def main(): # 初始化對象 L = Login() # 進(jìn)行布局 L.gui_arrang() # 主程序執(zhí)行 tkinter.mainloop() if __name__ == '__main__': main()
效果篇:
語法介紹:環(huán)境配置:
Python3.6.5,前往官網(wǎng)下載
tkinker包:Python2.5之后,tkinker包是自帶的,我們直接導(dǎo)入就好了
基本語法:
self.root = tkinter.Tk()
創(chuàng)建一個窗口對象root,root前面的self.是面向?qū)ο罄锩娴膬?nèi)容,不明白的童鞋可以去Google一下面向?qū)ο?/p>
self.root.title("影視資源管理系統(tǒng)(離線版)") self.root.geometry('450x300')
給窗口root設(shè)置標(biāo)題,并設(shè)置窗口
self.canvas = tkinter.Canvas(self.root, height=200, width=500)#創(chuàng)建畫布 self.image_file = tkinter.PhotoImage(file='welcome_1.gif')#加載圖片文件 self.image = self.canvas.create_image(0,0, anchor='nw', image=self.image_file)#將圖片置于畫布上 self.canvas.pack(side='top')#放置畫布(為上端)
如果我們需要讓自己的界面在美觀上加分,大可以試試創(chuàng)建一個畫布,也就是下面這個東西
我這里是先對圖片背景進(jìn)行了透明化處理,需要的小伙伴可以去這里 對圖片進(jìn)行處理,個人覺得這個網(wǎng)站還是不錯的
#創(chuàng)建一個`label`名為`Account: ` self.label_account = tkinter.Label(self.root, text='Account: ') #創(chuàng)建一個`label`名為`Password: ` self.label_password = tkinter.Label(self.root, text='Password: ')
這里創(chuàng)建的是一個label,label是什么不明白可以參考上面貼圖的“Account:”與“Password:”
.Label(A, B):參數(shù)A代表Lable依賴窗口,參數(shù)B即用戶可見的Lable的名字了(text="LableName")
.Button(A, B, text='', [width='', height='']):參數(shù)A是按鈕依賴的窗口主體,參數(shù)B是按鈕的相應(yīng)事件(command = self.siginUp_interface)這里的響應(yīng)事件的進(jìn)行注冊/登錄進(jìn)入后臺,command后接響應(yīng)函數(shù)。
.Entry(A):輸入框,參照前面的.Label(),有疑問的可以在下方留言
.place(x="", y=""):這個是設(shè)置窗口部件的函數(shù)
額。。。。登錄界面就介紹到這里了,后面我會繼續(xù)更新登錄界面的響應(yīng)機(jī)制,有不明的地方可以在下方留言,我看到會回復(fù)的
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python Tkinter模塊 GUI 可視化實(shí)例
- wxPython:python首選的GUI庫實(shí)例分享
- python 調(diào)用pyautogui 實(shí)時獲取鼠標(biāo)的位置、移動鼠標(biāo)的方法
- python PyAutoGUI 模擬鼠標(biāo)鍵盤操作和截屏功能
- 使用 python pyautogui實(shí)現(xiàn)鼠標(biāo)鍵盤控制功能
- python用win32gui遍歷窗口并設(shè)置窗口位置的方法
- 這可能是最好玩的python GUI入門實(shí)例(推薦)
- python 實(shí)現(xiàn)GUI(圖形用戶界面)編程詳解
- 對Python 簡單串口收發(fā)GUI界面的實(shí)例詳解
- Python GUI自動化實(shí)現(xiàn)繞過驗(yàn)證碼登錄
相關(guān)文章
python實(shí)現(xiàn)將range()函數(shù)生成的數(shù)字存儲在一個列表中
這篇文章主要介紹了python實(shí)現(xiàn)將range()函數(shù)生成的數(shù)字存儲在一個列表中,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Django中利用filter與simple_tag為前端自定義函數(shù)的實(shí)現(xiàn)方法
這篇文章主要給大家介紹了Django中利用filter與simple_tag為前端自定義函數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-06-06windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法
這篇文章主要介紹了windows下Python實(shí)現(xiàn)將pdf文件轉(zhuǎn)化為png格式圖片的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python實(shí)現(xiàn)將pdf轉(zhuǎn)換為png格式的相關(guān)模塊、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-07-07自然語言處理之文本熱詞提取(含有《源碼》和《數(shù)據(jù)》)
這篇文章主要介紹了自然語言處理之文本熱詞提取,主要就是通過jieba的posseg模塊將一段文字分段并賦予不同字段不同意思,然后通過頻率計算出熱頻詞,需要的朋友可以參考下2022-05-05