以下是一个简单的示例代码,其中包括两个页面,一个是主页面,另一个是添加学生信息页面。

import tkinter as tk
import mysql.connector

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

# 创建游标
mycursor = mydb.cursor()

# 创建主页面类
class MainPage(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid()
        self.createWidgets()

    def createWidgets(self):
        # 创建标签
        self.titleLabel = tk.Label(self, text='学生信息管理系统', font=("Arial", 20))
        self.titleLabel.grid(row=0, column=0, columnspan=2, pady=20)

        self.nameLabel = tk.Label(self, text='姓名:')
        self.nameLabel.grid(row=1, column=0, pady=10)
        self.nameEntry = tk.Entry(self)
        self.nameEntry.grid(row=1, column=1, pady=10)

        self.ageLabel = tk.Label(self, text='年龄:')
        self.ageLabel.grid(row=2, column=0, pady=10)
        self.ageEntry = tk.Entry(self)
        self.ageEntry.grid(row=2, column=1, pady=10)

        self.genderLabel = tk.Label(self, text='性别:')
        self.genderLabel.grid(row=3, column=0, pady=10)
        self.genderEntry = tk.Entry(self)
        self.genderEntry.grid(row=3, column=1, pady=10)

        # 创建按钮
        self.addButton = tk.Button(self, text='添加', command=self.addStudent)
        self.addButton.grid(row=4, column=0, pady=20)

        self.quitButton = tk.Button(self, text='退出', command=self.quit)
        self.quitButton.grid(row=4, column=1, pady=20)

    # 添加学生信息
    def addStudent(self):
        name = self.nameEntry.get()
        age = self.ageEntry.get()
        gender = self.genderEntry.get()

        sql = "INSERT INTO students (name, age, gender) VALUES (%s, %s, %s)"
        val = (name, age, gender)
        mycursor.execute(sql, val)
        mydb.commit()

        self.nameEntry.delete(0, tk.END)
        self.ageEntry.delete(0, tk.END)
        self.genderEntry.delete(0, tk.END)

        tk.messagebox.showinfo("提示", "学生信息添加成功!")

# 创建添加学生信息页面类
class AddStudentPage(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.grid()
        self.createWidgets()

    def createWidgets(self):
        # 创建标签
        self.titleLabel = tk.Label(self, text='添加学生信息', font=("Arial", 20))
        self.titleLabel.grid(row=0, column=0, columnspan=2, pady=20)

        self.nameLabel = tk.Label(self, text='姓名:')
        self.nameLabel.grid(row=1, column=0, pady=10)
        self.nameEntry = tk.Entry(self)
        self.nameEntry.grid(row=1, column=1, pady=10)

        self.ageLabel = tk.Label(self, text='年龄:')
        self.ageLabel.grid(row=2, column=0, pady=10)
        self.ageEntry = tk.Entry(self)
        self.ageEntry.grid(row=2, column=1, pady=10)

        self.genderLabel = tk.Label(self, text='性别:')
        self.genderLabel.grid(row=3, column=0, pady=10)
        self.genderEntry = tk.Entry(self)
        self.genderEntry.grid(row=3, column=1, pady=10)

        # 创建按钮
        self.addButton = tk.Button(self, text='添加', command=self.addStudent)
        self.addButton.grid(row=4, column=0, pady=20)

        self.backButton = tk.Button(self, text='返回', command=self.back)
        self.backButton.grid(row=4, column=1, pady=20)

    # 添加学生信息
    def addStudent(self):
        name = self.nameEntry.get()
        age = self.ageEntry.get()
        gender = self.genderEntry.get()

        sql = "INSERT INTO students (name, age, gender) VALUES (%s, %s, %s)"
        val = (name, age, gender)
        mycursor.execute(sql, val)
        mydb.commit()

        self.nameEntry.delete(0, tk.END)
        self.ageEntry.delete(0, tk.END)
        self.genderEntry.delete(0, tk.END)

        tk.messagebox.showinfo("提示", "学生信息添加成功!")

    # 返回主页面
    def back(self):
        self.destroy()
        app = MainPage(root)
        app.mainloop()

# 创建主窗口
root = tk.Tk()
root.title("学生信息管理系统")
root.geometry("400x300")

# 创建主页面
app = MainPage(root)
app.mainloop()

在本示例中,我们使用了 tkinter 模块来创建 GUI 界面,使用了 mysql.connector 模块来连接 MySQL 数据库。当用户在添加学生信息页面中点击添加按钮时,会向 MySQL 数据库中增加一条学生信息。同时,我们还创建了返回按钮,使用户可以返回主页面。

注意:

  • 请将代码中的 "localhost", "root", "password" 和 "mydatabase" 替换为你的实际数据库配置信息。
  • 请确保你已经创建了一个名为 "students" 的表,该表包含三个字段:"name", "age" 和 "gender"。
  • 你可以根据自己的需要修改代码,例如添加更多字段或功能。
Python tkinter 实现页面跳转并向 MySQL 数据库添加学生信息

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

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