IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 简单实现登陆注册gui界面以及打包成exe文件 -> 正文阅读

[Python知识库]简单实现登陆注册gui界面以及打包成exe文件

新建一个data.txt文件。存用户名和密码

#!/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()




?

?

?

此项目分为两步:

GUI编写程序
pyinstaller打包软件
所用到的第三方库:


具体实现

1. GUI界面
本次主要讲解如何打包,所以在此只是设计一个十分简单GUI界面本次主要讲解如何打包,所以在此只是设计一个十分简单GUI界面
如上文的代码
2. 程序打包

首先一个程序都有该程序的图标,所以要想让自己的程序拥有更加亮眼的图标的话,可以自己通过PS或者作图软件设计自己的图标,然后通过网站http://www.bitbug.net/将自己设计的图标改换成ico格式。该网站是可以将jpg、png、gif等图像文件转换为ico文件。当然,本人在这里还给大家推荐一个更省时省力的办法,那就是直接使用别人已经设计好的ico图标。具体怎么操作呢,可以去http://www.iconpng.com下载。
图标解决了,程序代码编写好了,接下来就是最最重要的软件打包环节了。
在此,我们用pyinstaller打包,这是一个用于pythonGUI打包软件的第三方库。
具体操作命令如下:

1,安装pyinstaller
? ? pip install pyinstaller (如果安装失败,用管理员权限安装)
? ??
2,打包程序
? ?
? ? (4)如果程序里面有图片,需要将图片复制到exe文件同一级文件夹,否则程序无法正常运行,默认生成的exe在dist文件夹里面,必须拖出来放在和代码同一目录下,才能生效
? ??
? ? ?打包原文链接:https://blog.csdn.net/weifuliu/article/details/82826643

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-10-18 17:21:19  更:2021-10-18 17:21:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:39:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码