Python學習之GUI--登入系統介面篇
阿新 • • 發佈:2019-01-26
導言篇:
我的python環境是:python3.6.5
這裡我選擇的GUI程式設計包是:tkinter
tkinker在python2.5以後就是自帶包了,所以我們不需要另外安裝
tkinker相對與其他python GUI程式設計的包而已,是相對容易入手的
程式碼篇:
#這是系統的登入介面 import tkinter from tkinter import messagebox class Login(object): def __init__(self): # 建立主視窗,用於容納其它元件 self.root = tkinter.Tk() # 給主視窗設定標題內容 self.root.title("影視資源管理系統(離線版)") self.root.geometry('450x300') #執行程式碼時記得新增一個gif圖片檔案,不然是會出錯的 self.canvas = tkinter.Canvas(self.root, height=200, width=500)#建立畫布 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')#放置畫布(為上端) #建立一個`label`名為`Account: ` self.label_account = tkinter.Label(self.root, text='Account: ') #建立一個`label`名為`Password: ` self.label_password = tkinter.Label(self.root, text='Password: ') # 建立一個賬號輸入框,並設定尺寸 self.input_account = tkinter.Entry(self.root, width=30) # 建立一個密碼輸入框,並設定尺寸 self.input_password = tkinter.Entry(self.root, show='*', width=30) # 建立一個登入系統的按鈕 self.login_button = tkinter.Button(self.root, command = self.backstage_interface, text = "Login", width=10) # 建立一個註冊系統的按鈕 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) # 進入註冊介面 def siginUp_interface(self): # self.root.destroy() tkinter.messagebox.showinfo(title='影視資源管理系統', message='進入註冊介面') # 進行登入資訊驗證 def backstage_interface(self): account = self.input_account.get().ljust(10," ") password = self.input_password.get().ljust(10," ") #對賬戶資訊進行驗證,普通使用者返回user,管理員返回master,賬戶錯誤返回noAccount,密碼錯誤返回noPassword verifyResult = verifyAccount.verifyAccountData(account,password) if verifyResult=='master': self.root.destroy() tkinter.messagebox.showinfo(title='影視資源管理系統', message='進入管理介面') elif verifyResult=='user': self.root.destroy() tkinter.messagebox.showinfo(title='影視資源管理系統', message='進入使用者介面') elif verifyResult=='noAccount': tkinter.messagebox.showinfo(title='影視資源管理系統', message='該賬號不存在請重新輸入!') elif verifyResult=='noPassword': tkinter.messagebox.showinfo(title='影視資源管理系統', message='賬號/密碼錯誤請重新輸入!') def main(): # 初始化物件 L = Login() # 進行佈局 L.gui_arrang() # 主程式執行 tkinter.mainloop() if __name__ == '__main__': main()
效果篇:
語法介紹:
環境配置:
Python3.6.5,前往官網下載
tkinker包:Python2.5之後,tkinker包是自帶的,我們直接匯入就好了
基本語法:
self.root = tkinter.Tk()
建立一個視窗物件root,root前面的self.是面向物件裡面的內容,不明白的童鞋可以去Google一下面向物件
self.root.title("影視資源管理系統(離線版)")
self.root.geometry('450x300')
給視窗root設定標題,並設定視窗
如果我們需要讓自己的介面在美觀上加分,大可以試試建立一個畫布,也就是下面這個東西self.canvas = tkinter.Canvas(self.root, height=200, width=500)#建立畫布 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')#放置畫布(為上端)
我這裡是先對圖片背景進行了透明化處理,需要的小夥伴可以去這裡 對圖片進行處理,個人覺得這個網站還是不錯的
#建立一個`label`名為`Account: `
self.label_account = tkinter.Label(self.root, text='Account: ')
#建立一個`label`名為`Password: `
self.label_password = tkinter.Label(self.root, text='Password: ')
這裡建立的是一個label,label是什麼不明白可以參考上面貼圖的“Account:”與“Password:”
.Label(A, B):引數A代表Lable依賴視窗,引數B即使用者可見的Lable的名字了(text="LableName")
.Button(A, B, text='', [width='', height='']):引數A是按鈕依賴的視窗主體,引數B是按鈕的相應事件(command = self.siginUp_interface)這裡的響應事件的進行註冊/登入進入後臺,command後接響應函式。
.Entry(A):輸入框,參照前面的.Label(),有疑問的可以在下方留言
.place(x="", y=""):這個是設定視窗部件的函式
額。。。。登入介面就介紹到這裡了,後面我會繼續更新登入介面的響應機制,有不明的地方可以在下方留言,我看到會回覆的