前言
嗨喽,大家好呀~这里是爱看美女的茜茜呐
环境使用:
-
解释器版本: python 3.8
-
代码编辑器: pycharm 2021.2
一些操作:
-
录入新学生信息:用户在文本框中输入学生信息,点击“录入”按钮,将信息保存到数据库中,并在列表框中添加新的学生。
-
查询学生信息:用户可以在列表框中选择已注册的学生,然后单击“查询”按钮来显示学生详细信息。
-
修改学生信息:用户可以选择列表中的学生,然后单击“修改”按钮来更新学生信息。
-
删除学生:用户可以选择列表中的学生,然后单击“删除”按钮来删除选中的学生。
👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~
素材、视频教程、完整代码、插件安装教程我都准备好了,直接在文末名片自取就可
代码展示
import tkinter as tk
import tkinter.messagebox
from main import MainPage
class LoginPage:
def __init__(self, master):
self.root = master
self.page = tk.Frame(self.root)
self.page.pack()
self.root.geometry('300x180')
self.username = tk.StringVar()
self.password = tk.StringVar()
tk.Label(self.page).grid(row=0, column=0)
tk.Label(self.page, text='账户').grid(row=1, column=0, stick=tk.E, pady=10)
tk.Entry(self.page, textvariable=self.username).grid(row=1, column=1, stick=tk.W, pady=10)
tk.Label(self.page, text='密码').grid(row=2, column=0, stick=tk.E, pady=10)
tk.Entry(self.page, textvariable=self.password).grid(row=2, column=1, stick=tk.W, pady=10)
tk.Button(self.page, text='登录', command=self.login_check).grid(row=3, column=0, stick=tk.W, pady=10)
tk.Button(self.page, text='退出', command=self.page.quit).grid(row=3, column=1, stick=tk.E, pady=10)
def login_check(self):
name = self.username.get()
pwd = self.password.get()
if name == 'admin' and pwd == '123456':
tkinter.messagebox.showinfo(title='恭喜',message='登录成功!')
self.page.destroy()
MainPage(self.root)
完整源码、解答、教程皆+VX:pytho8987获取,验证备注“777”
else:
tkinter.messagebox.showinfo(title='错误',message='账户或密码错误')
if __name__ == '__main__':
root = tk.Tk()
LoginPage(root)
root.mainloop()
import json
import os
file = 'students.json'
if not os.path.exists(file):
open(file, 'w')
class StudentsDB:
def __init__(self):
self.students = []
self.load_students_data()
def insert(self, students):
self.students.append(students)
def all(self):
return self.students
def delete_by_name(self, name):
for student in self.students:
if name == student['name']:
self.students.remove(student)
return True, f'{name}删除成功'
return False, f'{name} 不存在'
def search_by_name(self, name):
for student in self.students:
if name == student['name']:
return True, student
return False, f'{name} 不存在'
def update(self, stu):
name = stu['name']
for student in self.students:
if name == student['name']:
student.update(stu)
return True, f'{name} 用户数据修改成功'
return False, f'{name} 不存在'
def save_data(self):
完整源码、解答、教程皆+VX:pytho8987获取,验证备注“777”
with open('students.json', mode='w', encoding='utf-8') as f:
text = json.dumps(self.students, indent=4, ensure_ascii=False)
f.write(text)
def load_students_data(self):
with open('students.json', mode='r', encoding='utf-8') as f:
data = f.read()
if data:
self.students = json.loads(data)
db = StudentsDB()
import tkinter as tk
from view import InputFrame, QueryFrame, DeleteFrame, ChangeFrame, AboutFrame
class MainPage:
def __init__(self, master):
self.root = master
self.page = tk.Frame(self.root)
self.page.pack()
self.root.geometry('600x400')
menuber = tk.Menu(self.root)
self.input_page = InputFrame(self.root)
self.query_page = QueryFrame(self.root)
self.delete_page = DeleteFrame(self.root)
self.change_page = ChangeFrame(self.root)
self.about_page = AboutFrame(self.root)
menuber.add_command(label='录入', command=self.show_input)
menuber.add_command(label='查询', command=self.show_all)
menuber.add_command(label='删除', command=self.show_delete)
menuber.add_command(label='修改', command=self.show_change)
menuber.add_command(label='关于', command=self.show_about)
self.root.config(menu=menuber)
def show_input(self):
self.input_page.pack()
self.query_page.pack_forget()
self.delete_page.pack_forget()
self.change_page.pack_forget()
self.about_page.pack_forget()
def show_all(self):
self.input_page.pack_forget()
self.query_page.pack()
self.delete_page.pack_forget()
self.change_page.pack_forget()
self.about_page.pack_forget()
def show_delete(self):
self.input_page.pack_forget()
self.query_page.pack_forget()
self.delete_page.pack()
self.change_page.pack_forget()
self.about_page.pack_forget()
def show_change(self):
self.input_page.pack_forget()
self.query_page.pack_forget()
self.delete_page.pack_forget()
self.change_page.pack()
self.about_page.pack_forget()
def show_about(self):
self.input_page.pack_forget()
self.query_page.pack_forget()
self.delete_page.pack_forget()
self.change_page.pack_forget()
self.about_page.pack()
if __name__ == '__main__':
root = tk.Tk()
MainPage(root)
root.mainloop()
尾语
感谢你观看我的文章呐~本次航班到这里就结束啦 🛬
希望本篇文章有对你带来帮助 🎉,有学习到一点知识~
躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。