簡單實現登陸註冊gui介面以及打包成exe檔案

專注的阿熊發表於2021-10-14

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Author : Benjamin

# @Time   : 2021/10/11 20:33

# from tkinter import *

from tkinter import messagebox

from tkinter import Tk

import tkinter as tk

# 建立窗體

my_window=Tk()

my_window.title(" 登陸 ")

# 設定視窗大小並居中顯示,

# 螢幕的寬度和亮度

screen_width,screen_height=my_window.maxsize()# 獲取當前螢幕的高度和寬度

# 窗體的寬度高度

width=250

height=200

# 設定窗體再螢幕中央顯示

align_str="%dx%d+%d+%d"%(width,height,(screen_width-width)/2,(screen_height-height)/2)

my_window.geometry(align_str)

# 設定寬高不可縮放

my_window.resizable(width=False,height=False)

# 新增標籤 , 賬戶,密碼

user_name_lable=tk.Label(my_window,text=" 賬號 ",font=('FangSong',14))

user_name_lable.place(x=30,y=30)

user_pwd_lable=tk.Label(my_window,text=" 密碼 ",font=('FangSong',14))

user_pwd_lable.place(x=30,y=70)

# 賬號輸入框,輸入框文字設定

user_name_text=tk.StringVar()

user_name_text.set(" 輸入賬號 ")

user_name_entry=tk.Entry(my_window,textvariable=user_name_text,font=('FangSong',14),width=15)

user_name_entry.place(x=80,y=30)

# 密碼輸入框,輸入框文字設定

user_pwd_text=tk.StringVar()# 定義文字框

user_pwd_text.set(" 輸入密碼 ")# 文字框提示語設定

user_pwd_entry=tk.Entry(my_window,textvariable=user_pwd_text,font=('FangSong',14),width=15)

user_pwd_entry.place(x=80,y=70)

# 資料讀取,讀取 data 檔案

def read():

     with open('data.txt','r') as file:

         rows=file.readlines()

         user_info_dict={}

         # 字典資料封裝

         for row in rows:

             dict_list=row.strip().split(':')# 去掉前後空格 , 然後切割生成陣列

             # print(dict_list)

             user_info_dict[dict_list[0]]=dict_list[1]

         return user_info_dict

# 資料寫入,開啟 data 檔案,寫入資料

def write(name,pwd):

     with open('data.txt','a+') as file:#a+ 是追加寫入

         file.write(name+":"+pwd+'\n')

# 登陸按鈕事件處理

def user_login():

     # 獲取使用者輸入的賬號和密碼

     name=user_name_text.get()

     pwd=user_pwd_text.get()

     print(name,pwd)

     user_dict=read()

     if name !='' and pwd !='':

         if name in user_dict and user_dict[name]==pwd:

             print("ok")

             messagebox.showinfo(title=" 成功 ",message=" 歡迎 "+name+" 登陸到這個頁面 ")

         else:

             messagebox.showerror(title=" 錯誤 ",message=" 密碼或使用者名稱錯誤 ")

             # print(" 密碼或使用者名稱錯誤 ")

     else:

         messagebox.showerror(title=" 錯誤 ",message=" 請輸入完整內容,使用者名稱和密碼不能為空!!! ")

         # print(" 請輸入完整內容,外匯跟單使用者名稱和密碼不能為空!!! ")

# 註冊事件的處理

def user_reg():

     # 獲取使用者名稱和密碼

     name=user_name_text.get()

     pwd=user_pwd_text.get()

     print(name,pwd)

     user_dict = read()

     if name!=""and pwd!="":

             if  name not in user_dict:

                 write(name,pwd)

                 messagebox.showinfo(title="ok",message=" 註冊成功 ")

             else:

                 messagebox.showerror(title=" 錯誤 ",message=" 使用者名稱已存在!!! ")

     else:

         messagebox.showerror(title=" 錯誤 ",message=" 請輸入完整內容,使用者名稱和密碼不能為空!!! ")

# 按鈕 , 登陸按鈕,事件處理

user_login_button=tk.Button(my_window,text=" 登陸 ",font=('FangSong',14),command=user_login)

user_login_button.place(x=30,y=120)

# 註冊。註冊按鈕,事件處理

user_reg_button=tk.Button(my_window,text=" 註冊 ",font=('FangSong',14),command=user_reg)

user_reg_button.place(x=150,y=120)

my_window.mainloop()


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2808401/,如需轉載,請註明出處,否則將追究法律責任。

相關文章