用pythonQT生成一个界面 可以将mysql里面的数据增删改查
以下是一个简单的Python代码示例,使用PyQt5创建一个GUI界面,并使用MySQL数据库进行增删改查操作:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QGridLayout, QMessageBox
import mysql.connector
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建控件
label1 = QLabel('ID:')
self.input_id = QLineEdit()
label2 = QLabel('Name:')
self.input_name = QLineEdit()
label3 = QLabel('Age:')
self.input_age = QLineEdit()
self.button_select = QPushButton('Select')
self.button_insert = QPushButton('Insert')
self.button_update = QPushButton('Update')
self.button_delete = QPushButton('Delete')
# 连接数据库
self.conn = mysql.connector.connect(user='root', password='password', host='localhost', database='mydb')
self.cursor = self.conn.cursor()
# 设置布局
grid = QGridLayout()
grid.addWidget(label1, 0, 0)
grid.addWidget(self.input_id, 0, 1)
grid.addWidget(label2, 1, 0)
grid.addWidget(self.input_name, 1, 1)
grid.addWidget(label3, 2, 0)
grid.addWidget(self.input_age, 2, 1)
grid.addWidget(self.button_select, 3, 0)
grid.addWidget(self.button_insert, 3, 1)
grid.addWidget(self.button_update, 4, 0)
grid.addWidget(self.button_delete, 4, 1)
self.setLayout(grid)
# 绑定事件
self.button_select.clicked.connect(self.select_data)
self.button_insert.clicked.connect(self.insert_data)
self.button_update.clicked.connect(self.update_data)
self.button_delete.clicked.connect(self.delete_data)
# 显示界面
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('MySQL Demo')
self.show()
def select_data(self):
# 查询数据
id = self.input_id.text()
if id == '':
self.cursor.execute('SELECT * FROM mytable')
else:
self.cursor.execute('SELECT * FROM mytable WHERE id=%s', [id])
result = self.cursor.fetchall()
if len(result) > 0:
self.input_name.setText(result[0][1])
self.input_age.setText(str(result[0][2]))
else:
QMessageBox.warning(self, 'Warning', 'No data found!')
def insert_data(self):
# 插入数据
name = self.input_name.text()
age = self.input_age.text()
if name == '' or age == '':
QMessageBox.warning(self, 'Warning', 'Please input name and age!')
else:
self.cursor.execute('INSERT INTO mytable (name, age) VALUES (%s, %s)', [name, age])
self.conn.commit()
QMessageBox.information(self, 'Information', 'Data inserted successfully!')
def update_data(self):
# 更新数据
id = self.input_id.text()
name = self.input_name.text()
age = self.input_age.text()
if id == '' or name == '' or age == '':
QMessageBox.warning(self, 'Warning', 'Please input id, name and age!')
else:
self.cursor.execute('UPDATE mytable SET name=%s, age=%s WHERE id=%s', [name, age, id])
self.conn.commit()
QMessageBox.information(self, 'Information', 'Data updated successfully!')
def delete_data(self):
# 删除数据
id = self.input_id.text()
if id == '':
QMessageBox.warning(self, 'Warning', 'Please input id!')
else:
self.cursor.execute('DELETE FROM mytable WHERE id=%s', [id])
self.conn.commit()
QMessageBox.information(self, 'Information', 'Data deleted successfully!')
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
sys.exit(app.exec_())
该代码使用了PyQt5库创建了一个GUI界面,并使用了mysql.connector库连接MySQL数据库进行增删改查操作。在界面中,用户可以输入ID、姓名和年龄,并通过点击按钮实现查询、插入、更新和删除操作。在代码中,我们使用QMessageBox来显示操作结果和错误信息。注意,代码中的数据库连接信息需要根据实际情况进行修改
原文地址: https://www.cveoy.top/t/topic/fqtM 著作权归作者所有。请勿转载和采集!