【Python Tkinter组件】——做一个简单常规的登录页面
做一个非常简单的登录页面,附加练习文件,都打包好了,免费拿走,里面有源文件、图片,而且我也把打包好了的文件也放到里面了,供大家学习练习素材:
提取码:2rn1 练习素材 点击直接下载
导入模块
import tkinter
from tkinter import *
import tkinter as tk
from tkinter import messagebox
添加标题,固定窗口大小及位置,附加程序的图标,图标进行选用ico格式的图标,可加可不加
root.title('贱工坊-登录')# 程序的标题名称
root.geometry("440x290+512+288")# 窗口的大小及页面的显示位置
root.resizable(False, False)# 固定页面不可放大缩小
root.iconbitmap("picture.ico")# 程序的图标
创建一个画布,然后将我们的程序背景图加载上去
canvas = tkinter.Canvas(root, bg="white", height=400, width=700, borderwidth=-3)# 创建画布
canvas.pack(side='top')# 放置画布(为上端)
image_file = tkinter.PhotoImage(file="./background.png")# 加载图片文件
canvas.create_image(0, 0, anchor='nw', image=image_file)# 将图片置于画布上
这个是输入框,用来输入用户及密码,show可以将密码改为*,更好的保护隐私
# 配置账户名
var_usr_name = tkinter.StringVar()
tkinter.Entry(root, width=16,borderwidth=0,textvariable=var_usr_name,font=('黑体', 16)).place(x=144,y=140)
# 配置密码
var_usr_pwd = tkinter.StringVar()
tkinter.Entry(root, width=16, borderwidth=0,show='*', textvariable=var_usr_pwd, font=('黑体', 16)).place(x=144, y=184)
如果账号或密码有一个错误,则会提示有误
tkinter.Label(root, text='错误:账号或密码有误请重试!', bg="white", font=('宋体', 9), fg='red', width=60, borderwidth=2).place(
x=30, y=220)
user_info是固定的账号密码,用来检测,如果账号和密码都对,则执行登录成功提示,错误则提示有误,密码可以该,想添加文件读取密码的也可以,之不过要想好怎么给密码文件加密然后进行读取
usrs_info = ["张三","123456"] # 账号与密码
if usrs_info == var_usr_name.get(): # 检测账号是否正确
if usrs_info == var_usr_pwd.get(): # 检测密码是否正确
tkinter.messagebox.showinfo(title='登录', message='登录成功,欢迎使用!\n等待跳转!!!')# 提示登录成功
else:
Tips()
else:
Tips()
我们来运行一下:
可以看到,账号输入错误会有提示
输入正确则会提示登录成功
完整代码:
import tkinter
from tkinter import *
import tkinter as tk
from tkinter import messagebox
def main():
root = tk.Tk()
root.title('贱工坊-登录')# 程序的标题名称
root.geometry("440x290+512+288")# 窗口的大小及页面的显示位置
root.resizable(False, False)# 固定页面不可放大缩小
root.iconbitmap("picture.ico")# 程序的图标
canvas = tkinter.Canvas(root, bg="white", height=400, width=700, borderwidth=-3)# 创建画布
canvas.pack(side='top')# 放置画布(为上端)
image_file = tkinter.PhotoImage(file="./background.png")# 加载图片文件
canvas.create_image(0, 0, anchor='nw', image=image_file)# 将图片置于画布上
# 配置账户名
var_usr_name = tkinter.StringVar()
tkinter.Entry(root, width=16,borderwidth=0,textvariable=var_usr_name,font=('黑体', 16)).place(x=144,y=140)
# 配置密码
var_usr_pwd = tkinter.StringVar()
tkinter.Entry(root, width=16, borderwidth=0,show='*', textvariable=var_usr_pwd, font=('黑体', 16)).place(x=144, y=184)
# 错误提示
def Tips():
tkinter.Label(root, text='错误:账号或密码有误请重试!', bg="white", font=('宋体', 9), fg='red', width=60, borderwidth=2).place(
x=30, y=220)
# 登录
def usr_login():
usrs_info = ["张三","123456"] # 账号与密码
if usrs_info == var_usr_name.get(): # 检测账号是否正确
if usrs_info == var_usr_pwd.get(): # 检测密码是否正确
tkinter.messagebox.showinfo(title='登录', message='登录成功,欢迎使用!\n等待跳转!!!')# 提示登录成功
else:
Tips()
else:
Tips()
# 按钮
Button(root, text='登录',bg='#ffffff',borderwidth=0.5, relief='ridge',width=32, font=('黑体', 13),command=usr_login).place(x=74,y=240)
# text 按钮的文字显示
# relief 边框的装饰 flat、raised、solid、ridge、groove
# bg 按钮的背景色
# fg 按钮的前景色
# width 按钮的宽度 hright 按钮的高度
# state 按钮的状态 normal、active、disabled默认为normal
# font 字体装饰("微软雅黑",10)微软雅黑为字体名称,10为字体大小
# command 按钮调用的函数
# place 位置
root.mainloop() #运行
if __name__ == '__main__':
main()
页:
[1]