void Widget::SqlInit() { db = QSqlDatabase::addDatabase("QSQLITE"); db.setDatabaseName("mydatabase.db"); if (!db.open()) { qDebug() << "Failed to open database."; return ; } QSqlQuery query; query.exec("CREATE TABLE IF NOT EXISTS co2gps " "(id INTEGER PRIMARY KEY AUTOINCREMENT, " "time TEXT, jingdu REAL, weidu REAL, nongdu INTEGER)"); query.exec(); db.close(); }
时间: 2024-02-14 22:23:10 浏览: 172
这段代码是一个在 Qt 框架下进行 SQLite 数据库初始化的函数。首先使用 `QSqlDatabase::addDatabase()` 函数创建了一个 SQLite 数据库连接,然后使用 `setDatabaseName()` 函数指定要连接的数据库名称。接着,通过 `db.open()` 函数打开数据库,如果打开失败则输出一条错误信息并直接返回。在这个函数中,数据库名称指定为 "mydatabase.db"。
接下来,在该数据库中创建了一个名为 "co2gps" 的表,该表有 5 个字段,分别为 id、time、jingdu、weidu 和 nongdu。其中 id 为主键,类型为 INTEGER,自动增长。time、jingdu、weidu、nongdu 分别为 TEXT、REAL、REAL 和 INTEGER 类型,对应的含义是时间、经度、纬度和浓度。
最后,通过 `db.close()` 函数关闭了数据库连接。
相关问题
python代码生成:通过点击自定义ui界面中的查询按钮,可以从sqlite数据库中读取数据显示在自定义tableview上
以下是一个简单的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中显示数据。
阅读全文