IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python面向对象与GUI编程打造【万能信息管理系统】,包含登录界面(修改参数就能变成你想要的系统) -> 正文阅读

[Python知识库]Python面向对象与GUI编程打造【万能信息管理系统】,包含登录界面(修改参数就能变成你想要的系统)

前言

使用面向对象与GUI编程,打造一个桌面版的万能信息管理系统。只要你修改下参数,它就能变成你想要的样子。比如:学生信息管理系统、员工信息管理系统、图书信息管理系统、蔬菜信息管理系统。这真是毕业设计、期末作业必备良药,老师看过都说好

先看下实现的效果

先是登录界面

输入设定好的账号密码后所显示的页面

主页左侧可以免费领取【代码】【相关教程、资料】,或者对于本篇文章有疑问的同学可以私信我

登录窗口

先定义一个窗口对象

import tkinter

root = tkinter.Tk()

###设置标题

root.title('学生信息管理系统')
root.geometry('300x180')

###显示窗口

root.mainloop()

账户密码输入界面

tkinter.Label(login_frame, text='账户: ').grid(row=1, column=0)
tkinter.Entry(login_frame, textvariable=username).grid(row=1, column=1)

tkinter.Label(login_frame, text='密码: ').grid(row=2, column=0)
tkinter.Entry(login_frame, textvariable=password).grid(row=2, column=1)

tkinter.Button(login_frame, text='登录', command=check_login).grid(row=3, column=0)
tkinter.Button(login_frame, text='退出', command=root.quit).grid(row=3, column=1)

调整位置

tkinter.Label(login_frame, width=15).grid(row=0, column=0)

点击登录 校验参数

def check_login():
    print('检查登录')
    print('用户名:', username.get())
    print('密码:', password.get())
    # 数据存在那个地方 txt
    if username.get() == 'admin' and password.get() == '123456':
        print('登录成功')
    else:
        print('登录失败')

换页

login_frame = tkinter.Frame(root)
login_frame.grid()


if username.get() == 'admin' and password.get() == '123456':
    print('登录成功')
    # 换页
    login_frame.destroy()
else:
    print('登录失败')

系统显示页面

窗口

import tkinter

class MainPage:
    def __init__(self, root2):
        self.root = root2
        self.root.title('学生信息管理系统 v18.6.0')
        self.root.geometry('600x400')
        self.create_page()

root = tkinter.Tk()

MainPage(root)

root.mainloop()

设置菜单栏

    def create_page(self):
        menu_bar = tkinter.Menu(self.root)

        menu_bar.add_command(label='录入', command=self.show_insert_frame)
        menu_bar.add_command(label='查询', command=self.show_search_frame)
        menu_bar.add_command(label='删除')
        menu_bar.add_command(label='修改')
        menu_bar.add_command(label='关于', command=self.show_about_frame)

        self.root['menu'] = menu_bar  # 设置菜单栏

录入功能

界面

class InsertFrame(tkinter.Frame):
    # 继承
    def __init__(self, root):
        super().__init__(master=root)
        self.username = tkinter.StringVar()
        self.math = tkinter.StringVar()
        self.chinese = tkinter.StringVar()
        self.english = tkinter.StringVar()
        self.status = tkinter.StringVar()

        self.create_page()

    def create_page(self):
        # padding 边框 填充
        tkinter.Label(self, width=15).grid(row=0, column=0, padx=5, pady=5, )
        tkinter.Label(self, text='姓名: ').grid(row=1, column=0, padx=5, pady=5, )
        tkinter.Entry(self, textvariable=self.username).grid(row=1, column=1, padx=5, pady=5, )
        tkinter.Label(self, text='数学: ').grid(row=2, column=0, padx=5, pady=5, )
        tkinter.Entry(self, textvariable=self.math).grid(row=2, column=1, padx=5, pady=5, )
        tkinter.Label(self, text='语文: ').grid(row=3, column=0, padx=5, pady=5, )
        tkinter.Entry(self, textvariable=self.chinese).grid(row=3, column=1, padx=5, pady=5, )
        tkinter.Label(self, text='英语: ').grid(row=4, column=0, padx=5, pady=5, )
        tkinter.Entry(self, textvariable=self.english).grid(row=4, column=1, padx=5, pady=5, )

        tkinter.Button(self, text='录入', command=self._recode).grid(row=5, column=1)
        tkinter.Label(self, textvariable=self.status).grid(row=6, column=1)

录入数据

def _recode(self):
    print('记录数据的事件被触发了')
    stu = {
        "name": self.username.get(),
        "math": self.math.get(),
        "chinese": self.chinese.get(),
        "english": self.english.get()
    }
    db.insert(stu)
    self.status.set('数据插入成功')
    print(db.all())
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 07:53:56  更:2021-11-24 07:54:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:26:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码