PySimpleGUI 库 和 pymsql 库

时间:2024-11-07 11:36:29

PySimpleGUI 库

PySimpleGUI 是一个用于简化 GUI 编程的 Python 包,它封装了多种底层 GUI 框架(如 tkinter、Qt、WxPython 等),提供了简单易用的 API。PySimpleGUI 包含了大量的控件(也称为小部件或组件),这些控件可以帮助你快速构建用户界面

安装

pip install pysimplegui

文本输入输出案例

import PySimpleGUI as sg

# 定义布局
layout = [
    [sg.Text("id:", size=(2, 1)), sg.InputText()],
    [sg.Text("id 不存在", key="text")],
    [sg.Button('保存'),sg.Button('关闭')]
]
# 创建窗口
window = sg.Window('我的窗口', layout)
# 事件循环
while True:
    event, values = window.read()
    # 退出事件
    if event == sg.WIN_CLOSED or event == '关闭':
        break
    # 获取编号
    id = values[0]
    if event == '保存':
        print(f'id={id}')
        # 弹出提示框
        sg.popup(f'id={id}')
        # 更新文本
        window['text'].update(f'id 已更新为:{id}')
# 关闭窗口
window.close()

pymsql 库

PyMySQL 是一个用于连接 MySQL 数据库的纯 Python 实现。它允许 Python 程序与 MySQL 数据库进行交互,执行 SQL 查询,并处理结果集

安装

pip install pymysql

数据添加

def add(name,num):
    # 创建数据库连接
    con = pymysql.Connect(host="localhost", user="root", passwd="root", database="demo01", charset="utf8");
    # 创建游标
    cr = con.cursor()
    # 定义一个sql语句变量
    sql = "insert into user_info (user_name,user_num) values(%s,%s)"# user_info为表名,user_name为列名,user_num为列名 %s为占位符
    # 执行sql
    cr.execute(sql,(name,num))# 这里的%s对应的是sql语句中的%s
    # 执行返回的插入数量
    num = cr.rowcount
    if num > 0:
        print("插入成功")
    else:
        print("插入失败")
    # 提交操作
    con.commit()
    # 关闭连接
    con.close()

数据查询

def find(name):
    # 创建数据库连接
    con = pymysql.Connect(host="localhost", user="root", passwd="root", database="demo01", charset="utf8");
    # 创建游标
    cr = con.cursor();
    # 定义一个sql语句变量
    sql = "select * from user_info where user_name=%s"
    # 执行sql
    cr.execute(sql,(name))
    # 获取查询结果
    result = cr.fetchone()
    if result:
        # print(result)
        print("姓名:%s  编号:%s" % (result[1],result[2]))
    else:
        print("未找到该用户")
    # 关闭连接
    con.close()

数据删除

def delete(name):
    # 创建数据库连接
    con = pymysql.Connect(host="localhost", user="root", passwd="root", database="demo01", charset="utf8");
    # 创建游标
    cr = con.cursor();
    # 定义一个sql语句变量
    sql = "delete from user_info where user_name=%s"
    # 执行sql
    cr.execute(sql,(name))
    # 执行返回的删除数量
    num = cr.rowcount
    if num > 0:
        print("删除成功")
    else:
        print("删除失败")
    # 提交操作
    con.commit()
    # 关闭连接
    con.close()