pyqt5通过关键字查找sqlite3数据库中的数据并显示在QTableWidget上
时间: 2024-03-27 10:35:50 浏览: 123
PyQt学习笔记-使用通用数据库接口QtSql操作SQLite数据库
首先,你需要导入 `sqlite3` 和 `PyQt5` 的相关模块。然后你需要在你的程序中打开数据库连接,并执行 SQL 查询语句以获取数据。最后,将查询结果显示在 `QTableWidget` 上。
以下是一个示例程序来实现查询并显示 SQLite 数据库中数据的功能:
```python
import sys
import sqlite3
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableWidgetItem, QTableWidget
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.tableWidget = QTableWidget()
self.setCentralWidget(self.tableWidget)
self.setWindowTitle('SQLite Query')
self.setGeometry(100, 100, 500, 500)
def query(self, keyword):
conn = sqlite3.connect('mydatabase.db')
c = conn.cursor()
# 执行 SQL 查询语句
c.execute("SELECT * FROM mytable WHERE field LIKE ?", ('%'+keyword+'%',))
data = c.fetchall()
# 将查询结果显示在 QTableWidget 上
self.tableWidget.setRowCount(len(data))
self.tableWidget.setColumnCount(len(data[0]))
for row_num, row_data in enumerate(data):
for col_num, col_data in enumerate(row_data):
self.tableWidget.setItem(row_num, col_num, QTableWidgetItem(str(col_data)))
conn.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
window.query('keyword')
sys.exit(app.exec_())
```
在上面的代码中,我们创建了一个 `MainWindow` 类,并在其中添加了一个 `QTableWidget`,并在 `query` 方法中实现了查询和显示数据的逻辑。在 `query` 方法中,我们首先建立了数据库连接,然后执行 SQL 查询语句以获取数据。最后,我们将查询结果显示在 `QTableWidget` 上。
你需要将代码中的 `mydatabase.db` 和 `mytable` 替换为你自己的数据库名称和表名,并将 `field` 替换为你要查询的字段名称。你还需要将 `keyword` 替换为你要查找的关键字。
阅读全文