Python连接MySQL数据库并创建GUI界面,pyqt
时间: 2024-05-03 11:22:08 浏览: 127
以下是一个简单的Python代码示例,用于连接MySQL数据库并创建GUI界面,使用PyQt库:
```python
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QGridLayout, QWidget, QLineEdit, QPushButton
import mysql.connector
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 设置主窗口标题
self.setWindowTitle("MySQL Connection")
# 创建一个QWidget,用于放置控件
self.widget = QWidget()
self.setCentralWidget(self.widget)
# 创建一个QGridLayout,用于布局控件
self.layout = QGridLayout(self.widget)
# 创建一个QLabel,用于显示数据库连接状态
self.status_label = QLabel(self)
self.status_label.setText("未连接")
self.layout.addWidget(self.status_label, 0, 0)
# 创建三个QLineEdit,用于输入数据库连接信息
self.host_edit = QLineEdit(self)
self.host_edit.setText("localhost")
self.layout.addWidget(self.host_edit, 1, 0)
self.user_edit = QLineEdit(self)
self.user_edit.setText("root")
self.layout.addWidget(self.user_edit, 2, 0)
self.password_edit = QLineEdit(self)
self.password_edit.setEchoMode(QLineEdit.Password)
self.layout.addWidget(self.password_edit, 3, 0)
# 创建一个QPushButton,用于连接数据库
self.connect_button = QPushButton(self)
self.connect_button.setText("连接数据库")
self.connect_button.clicked.connect(self.connect_db)
self.layout.addWidget(self.connect_button, 4, 0)
def connect_db(self):
# 获取用户输入的数据库连接信息
host = self.host_edit.text()
user = self.user_edit.text()
password = self.password_edit.text()
# 连接MySQL数据库
try:
self.conn = mysql.connector.connect(
host=host,
user=user,
password=password
)
self.status_label.setText("已连接")
except:
self.status_label.setText("连接失败")
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
该代码创建了一个名为“MySQL Connection”的GUI窗口,包括一个显示连接状态的标签,三个文本框用于输入数据库连接信息,以及一个按钮用于连接数据库。单击按钮后,程序将尝试连接MySQL数据库,并在标签中显示连接状态。如果连接成功,标签将显示“已连接”,否则将显示“连接失败”。
为了运行该代码,您需要安装PyQt5和mysql-connector-python库。您可以使用以下命令在命令行中安装它们:
```bash
pip install PyQt5 mysql-connector-python
```
请注意,该代码仅演示了如何连接MySQL数据库并创建GUI界面,您可能需要根据自己的需求进行更改和扩展。
阅读全文