pyqt5与Mysql数据库
时间: 2023-11-27 16:04:58 浏览: 99
PyQt5是一个Python的GUI工具包,而MySQL是一种关系型数据库管理系统。在PyQt5中使用MySQL,需要使用PyMySQL或mysql-connector-python等Python MySQL驱动程序。下面是一个简单的示例,演示如何使用PyQt5和MySql数据库进行连接和查询。
```python
import sys
from PyQt5.QtWidgets import QApplication, QDialog, QTableWidget, QTableWidgetItem
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
class Example(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 500, 500)
self.setWindowTitle('PyQt5 MySQL Example')
# 连接到MySQL数据库
db = QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setDatabaseName('mydatabase')
db.setUserName('root')
db.setPassword('password')
if not db.open():
print('无法连接到数据库')
sys.exit()
# 执行MySQL查询
query = QSqlQuery()
query.exec_("SELECT * FROM mytable")
# 创建表格
table = QTableWidget(self)
table.setRowCount(query.size())
table.setColumnCount(3)
table.setHorizontalHeaderLabels(['ID', 'Name', 'Age'])
# 填充数据
row = 0
while query.next():
id = query.value(0)
name = query.value(1)
age = query.value(2)
table.setItem(row, 0, QTableWidgetItem(str(id)))
table.setItem(row, 1, QTableWidgetItem(str(name)))
table.setItem(row, 2, QTableWidgetItem(str(age)))
row += 1
# 显示表格
table.resize(400, 400)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
需要注意的是,在使用PyQt5和MySQL时,需要安装PyMySQL或mysql-connector-python等Python MySQL驱动程序。在此处,我们使用的是PyMySQL。可以使用以下命令来安装PyMySQL:
```
pip install PyMySQL
```
使用此示例代码,您可以连接到MySQL数据库,执行查询并将结果显示在PyQt5中的表格中。
阅读全文