python+mysql实现gui增删改管理系统

本文介绍如何使用Python的GUI库(如Tkinter或PyQt)结合MySQL数据库,实现一个简单的数据增删改查应用。通过这个系统,用户可以方便地进行数据交互操作,提升工作效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

main.py


"""
__author__ = 'bearcarl'
__version__ = '1.0'

from tkinter import *
from tkinter import ttk
from tkinter import messagebox  # 导入提示窗口包
from connect_mysql import Mysql_conn
from dLink import DouLink, Node


# 设置窗口大小
def center_window(root, width, height):
    screenwidth = root.winfo_screenwidth()
    screenheight = root.winfo_screenheight()
    size = '%dx%d+%d+%d' % (width, height, (screenwidth - width) / 2, (screenheight - height) / 2)
    root.geometry(size)


class GUI:
    """给每个组件都命名是为了以后迭代方便"""

    def __init__(self, root):
        # 创建双向链表
        self.dl = DouLink()
        root.title('信息管理系统')
        # 设置窗口大小
        center_window(root, 800, 600)
        root.maxsize(1200, 800)
        root.minsize(300, 240)
        # root.iconbitmap('1.ico')

        # delete_event

        search_label = ttk.Label(root, text='删除教师编号').grid(row=0, column=4)
        dl_entry1 = ttk.Entry(root)
        dl_entry1.grid(row=0, column=5)
        button1 = ttk.Button(root, text='删除', command=lambda: delete_event(dl_entry1.get())).grid(row=0,
                                                                                                         column=6)

        search_label = ttk.Label(root, text='教师编号').grid(row=0, column=1)
        search_entry1 = ttk.Entry(root)
        search_entry1.grid(row=0, column=2)
        button1 = ttk.Button(root, text='查询', command=lambda: search_event(1, search_entry1.get())).grid(row=0,
                                                                                                         column=3)

        search_labe2 = ttk.Label(root, text='教师姓名').grid(row=1, column=1)
        search_entry2 = ttk.Entry(root)
        search_entry2.grid(row=1, column=2)
        button2 = ttk.Button(root, text='查询', command=lambda: search_event(2, search_entry2.get())).grid(row=1,
                                                                                                         column=3)

        search_labe3 = ttk.Label(root, text='出生年月').grid(row=2, column=1)
        search_entry3 = ttk.Entry(root)
        search_entry3.grid(row=2, column=2)
        button3 = ttk.Button(root, text='查询', command=lambda: search_event(3, search_entry3.get())).grid(row=2,
                                                                                                         column=3)

        search_labe4 = ttk.Label(root, text='工资').grid(row=3, column=1)
        search_entry4 = ttk.Entry(root)
        search_entry4.grid(row=3, column=2)
        button4 = ttk.Button(root, text='查询', command=lambda: search_event(4, search_entry4.get())).grid(row=3,
                                                                                                         column=3)

        search_labe5 = ttk.Label(root, text='参加工作时间').grid(row=4, column=1)
        search_entry5 = ttk.Entry(root)
        search_entry5.grid(row=4, column=2)
        button5 = ttk.Button(root, text='查询', command=lambda: search_event(5, search_entry5.get())).grid(row=4,
                                                                                                         column=3)

        add_button = ttk.Button(root, text='添加', command=lambda: addwindow_event()).grid(row=0, column=0)
        updata_button = ttk.Button(root, text='更新信息', command=lambda: upadatawindow_event()).grid(row=1, column=0)
        all_button = ttk.Button(root, text='查询全部', command=lambda: reload()).grid(row=2, column=0)

        # 信息提示框
        info_label = ttk.Label(root, text="信息展示窗口", background='#66ccff', width=100, anchor='center') \
            .grid(row=7, column=0, columnspan=8)

        # 信息展示
        Listbox(root, height=8, width=110).grid(row=8, column=0, columnspan=10)

        # 选择函数, 直接用SQL进行排序
        def sort_event(n):
            # 连接数据库
            conn_1 = Mysql_conn()
            if n == 1:
                # 构造查询SQL
                sw = 'SELECT * FROM STUDENT ORDER BY ID'
                stu_info = conn_1.select(sw)
                show_listbox = Listbox(root, height=8, width=110)
                for row in stu_info:
                    show_listbox.insert(END, row)
                show_l
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值