首页 > Python资料 博客日记
小白学习之Python—做一个简单的用户登录跳转界面
2024-06-20 08:00:04Python资料围观127次
一、界面效果
二、具体代码
在程序最初阶段,先有包的导入,如:
from tkinter import *
from tkinter.messagebox import *
包有两种导入方式,第二种方法是直接将库导入整个程序中,但是占大量内存,小文件可使用。
①import (库)as(函数名) //例如:import tkinter as t
②from (库) import * //例如:from tkinter import *
1、关于整体的结构设计
a:窗体的构造
from tkinter import *
from tkinter.messagebox import *
#第一个窗体
class page1:
def __init__(self,win):
self.cvar=IntVar()
self.v1=StringVar()
self.v2=StringVar()
self.win=win
self.win.title("登录窗口") #窗体名称
self.win.geometry("500x300") #窗体的大小
#self.win.config(bg='yellow')
关于class类的理解将另写一篇博文记录,点击查看
在这先简单了解一下def函数的编写方法
def 函数名(参数1,参数2,参数3,……,参数n):
函数体(语句块)
return[表达式]
b:用户名和密码实例化
#标签实例化、定位
self.lab1=Label(self.win,text="用户名:")
self.lab1.place(x=100,y=50,width=50,height=30)
self.lab2=Label(self.win,text="密 码:")
self.lab2.place(x=100,y=100,width=50,height=30)
#文本框实例化、定位
self.textname=Entry(textvariable=self.v1)
self.textpwd=Entry(textvariable=self.v2,show="*")
self.textname.place(x=180,y=50,width=150,height=30)
self.textpwd.place(x=180,y=100,width=150,height=30)
c:登录、重置、退出按钮实例化
#登录、重置、退出按钮实例化和定位
self.butt1=Button(self.win,text='登录',command=self.login)
self.butt1.place(x=100,y=180,width=50,height=30)
self.butt2=Button(self.win,text='重置',command=self.reset)
self.butt2.place(x=200,y=180,width=50,height=30)
self.butt3=Button(self.win,text='退出',command=self.quit1)
self.butt3.place(x=300,y=180,width=50,height=30)
d:记住密码复选实例化
#记住密码复选框
self.remb=Checkbutton(self.win,text='记住密码',variable=self.cvar,onvalue=1,command=self.jizhu)
self.remb.place(x=300,y=150,width=80,height=30)
以上实例化代码都包含在def __init__(self,win)的函数中
2、关于功能实现的编写
AB:如何进行登录判断和跳转页面
#功能编写:登录窗口、跳转页面
def login(self):
user=self.textname.get()
pwd=self.textpwd.get()
if user == 'Mortal' and pwd == '123456':
self.butt1.destroy()
self.butt2.destroy()
self.butt3.destroy()
self.lab1.destroy()
self.lab2.destroy()
self.textname.destroy()
self.textpwd.destroy()
self.remb.destroy()
page2(root)
else:
showwarning('警告','用户名或密码错误')
这里的showwarning使用的就是tkinter.messagebox库中的函数,如图一所示,
图二和图三分别为showinfo和showerror。
C:如何重置文本框
#功能编写:重置文本框
def reset(self):
self.v1.set("") #self.textname.delete(0,END)
self.v2.set("") #self.textpwd.delete(0,END)
方法一: self.v1.set("")
得搭配 a中的self.v1=StringVar()
和 b中的textvariable=self.v1
使用,含义是在文本框中放置空
方法二:self.textname.delete(0,END)
含义:将文本框中从第一个位置到最后一个位置的值删除
D:如何关闭窗口
#功能编写:窗体关闭
def quit1(self):
self.win.destroy()
E:如何使用记住密码
#功能编写:记住密码
def jizhu(self):
if self.cvar.get()==1:
self.v1.set('Mortal')
self.v2.set('123456')
else:
self.v1.set("")
self.v2.set("")
self.textname.focus()
做的记住密码十分简陋,暂时只能记住固定的账户和密码(待完善咯)。
&第二个窗体
#第二个窗体
class page2:
def __init__(self,win):
self.win=win
self.win.title("第二个窗体")
self.win.geometry("500x300")
#self.win.config(bg='blue')
#退出按钮实例化和定位
self.buttback=Button(self.win,text='返回',command=self.back)
self.buttback.place(x=380,y=180,width=50,height=30)
#功能编写:返回上一个窗体
def back(self):
self.buttback.destroy()
page1(root)
!!!!!!!!!!!!
程序最后写这三条语句使窗体能够出现在桌面
#实现窗体
root=Tk()
p1=page1(root)
root.mainloop()
注:关于注册功能还待完善,除了通过SQL还可以通过txt简略对内容进行储存
标签:
相关文章
最新发布
- 【Python】selenium安装+Microsoft Edge驱动器下载配置流程
- Python 中自动打开网页并点击[自动化脚本],Selenium
- Anaconda基础使用
- 【Python】成功解决 TypeError: ‘<‘ not supported between instances of ‘str’ and ‘int’
- manim边学边做--三维的点和线
- CPython是最常用的Python解释器之一,也是Python官方实现。它是用C语言编写的,旨在提供一个高效且易于使用的Python解释器。
- Anaconda安装配置Jupyter(2024最新版)
- Python中读取Excel最快的几种方法!
- Python某城市美食商家爬虫数据可视化分析和推荐查询系统毕业设计论文开题报告
- 如何使用 Python 批量检测和转换 JSONL 文件编码为 UTF-8
点击排行
- 版本匹配指南:Numpy版本和Python版本的对应关系
- 版本匹配指南:PyTorch版本、torchvision 版本和Python版本的对应关系
- Python 可视化 web 神器:streamlit、Gradio、dash、nicegui;低代码 Python Web 框架:PyWebIO
- 相关性分析——Pearson相关系数+热力图(附data和Python完整代码)
- Python与PyTorch的版本对应
- Anaconda版本和Python版本对应关系(持续更新...)
- Python pyinstaller打包exe最完整教程
- Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based proj