python代码生成:通过点击自定义ui界面中的查询按钮,可以从sqlite数据库中读取数据显示在自定义tableview上
时间: 2024-02-01 17:14:24 浏览: 111
以下是一个简单的Python代码示例,用于从SQLite数据库中读取数据并在自定义的TableView中显示它们:
```python
import sqlite3
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView, QPushButton, QWidget, QVBoxLayout
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
# 创建一个SQLite数据库连接
self.db = QSqlDatabase.addDatabase('QSQLITE')
self.db.setDatabaseName('mydatabase.db')
self.db.open()
# 创建一个自定义的TableView
self.table_view = QTableView(self)
# 创建一个查询按钮
self.query_button = QPushButton('查询', self)
self.query_button.clicked.connect(self.query_data)
# 创建一个自定义的UI界面,并将TableView和查询按钮添加到其中
central_widget = QWidget()
layout = QVBoxLayout()
layout.addWidget(self.table_view)
layout.addWidget(self.query_button)
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
def query_data(self):
# 执行查询语句,获取数据
query = 'SELECT * FROM mytable'
model = QSqlTableModel()
model.setQuery(query, self.db)
# 将数据模型设置为TableView的模型
self.table_view.setModel(model)
if __name__ == '__main__':
app = QApplication([])
window = MainWindow()
window.show()
app.exec_()
```
在这个示例中,我们首先创建了一个`QSqlDatabase`对象,并将其设置为连接到SQLite数据库文件`mydatabase.db`。然后,我们创建了一个自定义的`QTableView`对象和一个`QPushButton`对象,并将它们添加到我们的自定义UI布局中。当用户单击查询按钮时,我们将执行一个SQL查询语句,将结果设置为TableView的数据模型,并在TableView中显示数据。
阅读全文