Python登录系统界面实现详解
作者:明天依旧可好 发布时间:2021-02-11 19:24:04
导言篇
我的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=""):这个是设置窗口部件的函数
额。。。。登录界面就介绍到这里了,后面我会继续更新登录界面的响应机制,有不明的地方可以在下方留言,我看到会回复的
来源:https://blog.csdn.net/qq_38251616/article/details/80670714
猜你喜欢
- osc的rss不是全文输出的,不开心,所以就有了python抓取osc最新博客生成Rss# -*- coding: utf-8 -*-fro
- 前序1、蓝图在一个Flask 应用项目中,如果业务视图过多,可否将以某种方式划分出的业务单元单独维护,将每个单元用到的视图、静态文件、模板文
- 随着计算机硬件的不断发展,多核CPU已经成为普及的硬件设备,利用多核CPU的优势可以有效的提高程序的执行效率。而多进程模式可以实现多核CPU
- 前言random模块实现了各种分布的伪随机数生成器。伪随机数:人类使用算法等方式,以一个基准(也被称为种子,常用的是时间戳)来构造一系列数字
- 在DreamWeaver中编写CSS,这种编写习惯并不提倡,不过由于"可视化"和操作简便,使用的朋友依然很多,今天罗列一
- 给密码加密是什么:用户注册的密码一般网站管理人员会利用md5方法加密,这种加密方法的好处是它是单向加密的,也就是说,你只有在提前知道某一串密
- 如何处理DataFrame的inf值在用DataFrame计算变化率时,例如(今天-昨天) / 昨天恰好为(2-0) / 0时,这些结果数据
- 一、选择文件夹首先导入PySimpleGUI库,并且用缩写sg来表示。import PySimpleGUI as sg# 窗口显示文本框和浏
- 灰度图像染成红色和黄色# 1.将灰度图像转换为RGB图像image = color.gray2rgb(grayscale_image)# 2
- 搭建python环境1.百度搜索python3.7下载,找到官网下载安装包,运行安装包并配置环境变量。2.这里一定要安装python3.7版
- 在我们的日常生活工作中,经常会遇到需要上传日志的场景,比如多台机器运行同一个程序,并且需要记录每台机器程序产生的日志,根据相关关键词告警,或
- 聚焦爬虫:爬取页面中指定的页面内容。编码流程:1.指定url2.发起请求3.获取响应数据4.数据解析5.持久化存储数据解析分类:1.bs42
- 1. 换源,sohu的相当好用。 1.1备份CentOS-Base.repo cd /etc/yum.repos.d/ cp CentOS-
- 本文实例为大家分享了用vue实现加载页的具体代码,供大家参考,具体内容如下<template>? ? <div class
- 本文实例讲述了python实现的多线程端口扫描功能。分享给大家供大家参考,具体如下:下面的程序给出了对给定的ip主机进行多线程扫描的Pyth
- 以下内容都是针对Pytorch 1.0-1.1介绍。很多文章都是从Dataset等对象自下往上进行介绍,但是对于初学者而言,其实这并不好理解
- 发现问题在使用pip install下载其他包时,报了错,如图:提示:“You are using pip versio
- 如何在线查询本地机的文件?看看下面的例子,默认子目录与子虚拟目录为同一级别且名称一致,另我们使用了"http://intels.n
- 在SQL Server数据库中,主要是通过角色来继承相关的权限。但是,这个权限继承很容易造成权限上的冲突。如现在有个销售员账户SALE1,有
- 本文实例讲述了Python PyAutoGUI模块控制鼠标和键盘实现自动化任务。分享给大家供大家参考,具体如下:PyAutoGUI是用Pyt