#!/usr/bin/python # -*- coding: UTF-8 -*- from tkinter import * from tkinter import scrolledtext import numpy as np import csv import os import tkinter as tk from tkinter import ttk from tkinter.constants import CENTER, SINGLE, BOTH, N, HORIZONTAL, VERTICAL from tkinter import messagebox as msgbox from tkinter import Toplevel, Label, Entry, StringVar, Radiobutton, Button def Close(): reply = msgbox.askyesno('提示', "您确定退出系统吗?") if reply == True : root.destroy() def csv_reader(filename): datas = [] if os.path.getsize(filename): with open(filename, 'r', encoding='utf-8-sig', errors='ignore') as csvfile : reader = csv.reader(csvfile) datas = [row for row in reader] return datas def insert(table, book_info) : # 插入数据 for index, data in enumerate(book_info) : table.insert('', END, values=data) # 添加数据到末尾 def IsEmpty(text) : if text is not None : return 0 else : return 1 def ShowBookInfo() : return # 修改书籍信息函数 def UpdateBookInfo(tree): # 获取选中的行 selected_items = tree.selection() if not selected_items: msgbox.showerror(title='提示', message="请先选择一行要修改的数据!") return # 获取选中行的图书编号 book_id = tree.item(selected_items[0])['values'][0] # 读取图书数据文件中的数据 book_info = csv_reader('图书.csv') if book_info is not None: # 根据图书编号获取对应的图书信息 # 创建修改图书信息的窗口 UBIGUI = Toplevel() UBIGUI.title('修改书籍信息') UBIGUI.geometry('400x400') # 定义确认修改的函数 def click(): # 获取用户输入的图书信息 num = addnuminput.get() title = addtitleinput.get() author = addauthorinput.get() publisher = addpublisherinput.get() category = v.get() # 判断用户是否输入了所有信息 if IsEmpty(num) or IsEmpty(title) or IsEmpty(author) or IsEmpty(publisher) or IsEmpty(category): msgbox.showerror(title='提示', message="请填写所有信息!") else: # 更新图书数据文件中的信息 book_info_new = [row if row[0] != book_id else [num, title, author, publisher, category] for row in book_info] with open('图书.csv', 'w', newline='', encoding='utf-8-sig') as csvfile: writer = csv.writer(csvfile) writer.writerows(book_info_new) # 更新表格中的信息 tree.delete(selected_items[0]) insert(tree, [[num, title, author, publisher, category]]) # 提示修改成功 reply = msgbox.showinfo(title='提示', message="修改成功!") if reply: UBIGUI.destroy() # 创建标签和输入框,用于输入图书信息 addnum = Label(UBIGUI, text="序号", font=("Microsoft YaHei", 10), anchor='w') addnum.place(x=30,
PYTHON数据库实现图书管理
最新推荐文章于 2024-07-27 12:20:46 发布