使用tkinter开发图形化小项目:
功能:
- 登录 :登录成功 跳转到 计算器 页面,否则登录失败
- 计算器 :登录成功后,窗口标题栏显示当前登录的用户
技术:
- 面向对象
- 标准模块
- SQLite数据库
- 登录成功后页面间的跳转
先看 登录页 效果动态图:
截图:
再看 计算器页 效果动态图:
截图:
项目目录图如下:
calc.py 计算器页面
login.py 登录页面
main.py 主入口页面
user_db.py 用户登录验证
user_sqlit.db sqlite数据库文件
代码:
main.py
import tkinter
from login import LoginFrame
from calc import CalcFrame
from user_db import UserDB
from tkinter.messagebox import showerror
win = tkinter.Tk()
w = 400
h = 290
win.geometry(str(w)+"x"+str(h)+"+500+120")
win.title("应用程序")
win.resizable(0, 0)
loginframe = LoginFrame(win, bg="CadetBlue",width=w,height=h,padx=45,pady=50)
loginframe.place(x=0, y=0, relwidth=1, relheight=1)
def loginFn():
acc = loginframe.accInput.get()
pwd = loginframe.pwdInput.get()
if acc=="" or pwd=="":
showerror(title='提示!', message="登录信息不完整!")
return
db = UserDB()
flag,msg,dic = db.check_login(acc, pwd)
if flag:
print(msg)#登录成功
loginframe.destroy()
win.geometry("400x"+str(290)+"+500+120")
calcFrame = CalcFrame(master=win, user=dic['acc'], bg="CadetBlue")
calcFrame.place(x=0, y=0, relwidth=1, relheight=1)
else:
print(msg)#登录失败
showerror(title='提示!', message=msg)
loginframe.accInput.delete(0, "end")
loginframe.pwdInput.delete(0, "end")
loginframe.login.configure(command=loginFn)
win.mainloop()
代码过多,项目已经打包成压缩包,地址如下:
https://download.csdn.net/download/qq_52722885/87272788
如何打开 user_sqlit.db 文件,请查看历史文章 【php 操作sqlite】,地址如下:
https://blog.csdn.net/qq_52722885/article/details/125000792
----结束----
仅供学习。