以下是一个简单的例子,展示了如何使用 tkinter 和 mysql 连接和管理大量的数据。

首先,需要安装 mysql-connector-python 包,它是一个 Python MySQL 连接器,可用于连接和管理 MySQL 数据库。

安装 mysql-connector-python 包:

pip install mysql-connector-python

接下来,在 Python 代码中导入所需的模块:

import tkinter as tk
from tkinter import ttk
import mysql.connector

然后,创建一个 MySQL 连接并打开一个游标:

mydb = mysql.connector.connect(
  host='localhost',
  user='root',
  password='password',
  database='mydatabase'
)

mycursor = mydb.cursor()

在这里,我们使用了本地主机,用户名为'root',密码为'password',数据库名称为'mydatabase'。

接下来,我们创建一个 tkinter 窗口:

root = tk.Tk()
root.title('大数据管理软件')

然后,我们添加一些 tkinter 小部件,如标签、文本框、按钮和表格:

# 标签
label_name = ttk.Label(root, text='姓名:')
label_name.grid(column=0, row=0, padx=5, pady=5)

label_age = ttk.Label(root, text='年龄:')
label_age.grid(column=0, row=1, padx=5, pady=5)

# 文本框
entry_name = ttk.Entry(root)
entry_name.grid(column=1, row=0, padx=5, pady=5)

entry_age = ttk.Entry(root)
entry_age.grid(column=1, row=1, padx=5, pady=5)

# 按钮
button_add = ttk.Button(root, text='添加')
button_add.grid(column=0, row=2, padx=5, pady=5)

button_delete = ttk.Button(root, text='删除')
button_delete.grid(column=1, row=2, padx=5, pady=5)

# 表格
treeview = ttk.Treeview(root)
treeview['columns'] = ('name', 'age')
treeview.column('name', width=100)
treeview.column('age', width=100)
treeview.heading('name', text='姓名')
treeview.heading('age', text='年龄')
treeview.grid(column=0, row=3, columnspan=2, padx=5, pady=5)

在这里,我们创建了两个标签,两个文本框,两个按钮和一个表格。按钮将用于添加和删除数据,表格将用于显示数据。

接下来,我们定义两个函数,一个用于添加数据,另一个用于删除数据:

def add_data():
    name = entry_name.get()
    age = entry_age.get()
    sql = 'INSERT INTO customers (name, age) VALUES (%s, %s)'
    val = (name, age)
    mycursor.execute(sql, val)
    mydb.commit()
    print(mycursor.rowcount, '记录插入成功。')
    entry_name.delete(0, tk.END)
    entry_age.delete(0, tk.END)
    
treeview.insert('', 'end', text=name, values=(name, age))

def delete_data():
    selected_item = treeview.selection()[0]
    values = treeview.item(selected_item, 'values')
    name = values[0]
    sql = 'DELETE FROM customers WHERE name = %s'
    val = (name,)
    mycursor.execute(sql, val)
    mydb.commit()
    print(mycursor.rowcount, '记录删除成功。')
    treeview.delete(selected_item)

在这里,add_data() 函数将从文本框中获取姓名和年龄,将其插入到 MySQL 数据库中,并清除文本框。delete_data() 函数将从表格中获取所选行的姓名,从 MySQL 数据库中删除该行,并从表格中删除该行。

最后,我们将添加和删除按钮绑定到相应的函数,并从 MySQL 数据库中获取数据并将其添加到表格中:

# 添加和删除按钮绑定函数
button_add.config(command=add_data)
button_delete.config(command=delete_data)

# 从 MySQL 数据库中获取数据并将其添加到表格中
mycursor.execute('SELECT * FROM customers')
result = mycursor.fetchall()

for row in result:
    name = row[0]
    age = row[1]
    treeview.insert('', 'end', text=name, values=(name, age))

这样,我们就可以使用 tkinter 和 MySQL 连接器编写一个简单的大数据管理软件。

完整代码如下:

import tkinter as tk
from tkinter import ttk
import mysql.connector

# MySQL 连接
mydb = mysql.connector.connect(
  host='localhost',
  user='root',
  password='password',
  database='mydatabase'
)

mycursor = mydb.cursor()

# tkinter 窗口
root = tk.Tk()
root.title('大数据管理软件')

# 标签
label_name = ttk.Label(root, text='姓名:')
label_name.grid(column=0, row=0, padx=5, pady=5)

label_age = ttk.Label(root, text='年龄:')
label_age.grid(column=0, row=1, padx=5, pady=5)

# 文本框
entry_name = ttk.Entry(root)
entry_name.grid(column=1, row=0, padx=5, pady=5)

entry_age = ttk.Entry(root)
entry_age.grid(column=1, row=1, padx=5, pady=5)

# 按钮
button_add = ttk.Button(root, text='添加')
button_add.grid(column=0, row=2, padx=5, pady=5)

button_delete = ttk.Button(root, text='删除')
button_delete.grid(column=1, row=2, padx=5, pady=5)

# 表格
treeview = ttk.Treeview(root)
treeview['columns'] = ('name', 'age')
treeview.column('name', width=100)
treeview.column('age', width=100)
treeview.heading('name', text='姓名')
treeview.heading('age', text='年龄')
treeview.grid(column=0, row=3, columnspan=2, padx=5, pady=5)

# 添加和删除函数
def add_data():
    name = entry_name.get()
    age = entry_age.get()
    sql = 'INSERT INTO customers (name, age) VALUES (%s, %s)'
    val = (name, age)
    mycursor.execute(sql, val)
    mydb.commit()
    print(mycursor.rowcount, '记录插入成功。')
    entry_name.delete(0, tk.END)
    entry_age.delete(0, tk.END)
    
treeview.insert('', 'end', text=name, values=(name, age))

def delete_data():
    selected_item = treeview.selection()[0]
    values = treeview.item(selected_item, 'values')
    name = values[0]
    sql = 'DELETE FROM customers WHERE name = %s'
    val = (name,)
    mycursor.execute(sql, val)
    mydb.commit()
    print(mycursor.rowcount, '记录删除成功。')
    treeview.delete(selected_item)

# 添加和删除按钮绑定函数
button_add.config(command=add_data)
button_delete.config(command=delete_data)

# 从 MySQL 数据库中获取数据并将其添加到表格中
mycursor.execute('SELECT * FROM customers')
result = mycursor.fetchall()

for row in result:
    name = row[0]
    age = row[1]
    treeview.insert('', 'end', text=name, values=(name, age))

root.mainloop()
Python Tkinter 大数据管理软件:使用 MySQL 连接器

原文地址: https://www.cveoy.top/t/topic/oe9k 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录