python代码编写:tableview或tablewidget界面链接到sqlite数据库,并数据库的内容显示在界面上
时间: 2023-08-01 11:05:58 浏览: 449
下面是一个简单的示例代码,展示如何将Qt的TableView控件链接到SQLite数据库,并在界面上显示数据库内容:
```python
from PyQt5.QtWidgets import QApplication, QTableView, QVBoxLayout, QWidget
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel
import sys
class MainWindow(QWidget):
def __init__(self):
super().__init__()
# 初始化数据库
self.db = QSqlDatabase.addDatabase('QSQLITE')
self.db.setDatabaseName('my_database.db')
self.db.open()
# 创建数据模型
self.model = QSqlTableModel(self)
self.model.setTable('my_table')
self.model.select()
# 创建TableView控件
self.table_view = QTableView()
self.table_view.setModel(self.model)
# 创建布局
layout = QVBoxLayout()
layout.addWidget(self.table_view)
# 设置窗口布局
self.setLayout(layout)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在这个示例中,我们首先初始化了一个SQLite数据库,并创建了一个名为`my_table`的表。然后,我们创建了一个`QSqlTableModel`对象,并将其链接到数据库的`my_table`表。我们还创建了一个`QTableView`控件,并将数据模型设置为其数据源。最后,我们创建了一个垂直布局,并将TableView控件添加到其中,最终将布局设置到窗口中。
运行程序后,您将看到TableView控件显示了数据库中的所有记录。您可以使用SQLite命令行工具或其他工具向数据库中添加、删除或修改记录,然后在程序中刷新TableView控件,以显示最新的记录。
阅读全文