资讯专栏INFORMATION COLUMN

简单实现登陆注册gui界面以及打包成exe文件

jone5679 / 3432人阅读

摘要:图标解决了,程序代码编写好了,接下来就是最最重要的软件打包环节了。在此,我们用打包,这是一个用于打包软件的第三方库。

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

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author : Benjamin# @Time   : 2021/10/11 20:33# from tkinter import *from tkinter import messageboxfrom tkinter import Tkimport tkinter as tk#创建窗体my_window=Tk()my_window.title("登陆")#设置窗口大小并居中显示,#屏幕的宽度和亮度screen_width,screen_height=my_window.maxsize()#获取当前屏幕的高度和宽度#窗体的宽度高度width=250height=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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/122437.html

相关文章

  • exe 文件反编译 Python 脚本

    摘要:打包成单文件所使用的命令为打包成文件夹所使用的命令为不管是哪种打包方式都会留下一个文件。这样我们只需将脚本文件和脚本文件放置到同一文件夹下,运行我们的脚本。可以看到已经完美的反编译出其中的脚本好了,相信大家已经明白了反编译的原理。 近期阅读了一篇很感兴趣的文章,为免后续文章被删无法再阅读,现...

    xbynet 评论0 收藏0
  • java jar打包使用总结(一)

    摘要:背景介绍将程序打包,无论是为了代码复用,还是发布应用,都是必不可少的的技能,上次总结了一下利用打包成,这次我来说如何打包。导入往往我们使用打包不只是为了双击使用,有时也是为了代码复用。碍于时间关系,将留待下一篇文章进行总结。 背景介绍 将程序打包,无论是为了代码复用,还是发布应用,都是必不可少的的技能,上次总结了一下python利用cxfreeze打包成exe,这次我来说java如何打...

    Blackjun 评论0 收藏0
  • 用 vue2 和 webpack 快速建构 NW.js 项目(2)

    摘要:再用使用进行图标替换,建议尺寸是。同时为其添加管理员权限。用把之前临时放在中的包拷贝到目录,再根据文件写更新信息到中。这儿应该可以优化,下载到用户数据目录,或者其他临时目录。 打包NW.js应用和制作windows安装文件 更新:此文章部分技术点已落后,可以查看 最新文章 这可能是中文史上最详细的 NW.js 打包教程 本文适应有一定 js 基础,第一次玩 windows 下 s...

    wmui 评论0 收藏0
  • 使用pyinstaller将python打包exe

    摘要:起因是从某发现了一个站挂机助手,依赖于直播的一个库,作者的处理方式是将依赖的库打包为,然后使用进行调用。它能够在等操作系统下将源文件打包,通过对源文件打包,程序可以在没有安装的环境中运行,也可以作为一个独立文件方便传递和管理。 起因是从某 hub 发现了一个B站挂机助手,依赖于直播的一个库,作者的处理方式是将依赖的库打包为 exe,然后使用 python 进行调用。 然后因为依赖的 l...

    AnthonyHan 评论0 收藏0
  • Python 小白的 PyQt5 项目实战(1)安装与环境配置

    摘要:工具可以直接使用方式安装和的环境配置使用集成开发工具的小白,在安装库以后,还要对和进行环境配置,将其集成到中。如果小白的或安装在其他路径下,则从对应的目录找到,或者在资源管理器中搜索文件找到安装路径。 ...

    Chao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<