///'#include //n#include //n//n// 设置数据库容量//nconst int DATABASE_CAPACITY = 100;//n//nclass Widget : public QWidget {//n Q_OBJECT//npublic://n Widget(QWidget *parent = nullptr) : QWidget(parent) {//n // 创建温度和灯控信息的输入框和按钮//n temperatureLineEdit = new QLineEdit(this);//n lightControlLineEdit = new QLineEdit(this);//n QPushButton *submitButton = new QPushButton(///'提交///', this);//n //n // 将按钮的点击信号与槽函数连接//n connect(submitButton, &QPushButton::clicked, this, &Widget::submitData);//n //n // 创建用于显示数据库内容的文本框//n databaseContentTextEdit = new QTextEdit(this);//n //n // 创建布局并添加控件//n QVBoxLayout *layout = new QVBoxLayout(this);//n layout->addWidget(temperatureLineEdit);//n layout->addWidget(lightControlLineEdit);//n layout->addWidget(submitButton);//n layout->addWidget(databaseContentTextEdit);//n //n // 打开数据库连接//n db = QSqlDatabase::addDatabase(///'QSQLITE///');//n db.setDatabaseName(///'database.db///');//n if (!db.open()) {//n qDebug() << ///'Failed to open database!///';//n return;//n }//n //n // 创建数据表//n QSqlQuery query;//n query.exec(///'CREATE TABLE IF NOT EXISTS data (temperature INT, light_control INT)///');//n }//n //npublic slots://n void submitData() {//n // 获取温度和灯控信息//n int temperature = temperatureLineEdit->text().toInt();//n int lightControl = lightControlLineEdit->text().toInt();//n //n // 插入数据到数据库//n QSqlQuery query;//n query.prepare(///'INSERT INTO data (temperature, light_control) VALUES (:temperature, :lightControl)///');//n query.bindValue(:temperature, temperature);//n query.bindValue(:lightControl, lightControl);//n query.exec();//n //n // 查询数据库中的数据并显示在界面上//n query.exec(///'SELECT * FROM data ORDER BY ROWID DESC LIMIT :capacity///');//n query.bindValue(:capacity, DATABASE_CAPACITY);//n QString content;//n while (query.next()) {//n int temperature = query.value(0).toInt();//n int lightControl = query.value(1).toInt();//n content += QString(///'Temperature: %1, Light Control: %2//n///').arg(temperature).arg(lightControl);//n }//n databaseContentTextEdit->setText(content);//n //n // 当数据库超过容量时,删除旧数据//n query.exec(///'DELETE FROM data WHERE ROWID NOT IN (SELECT ROWID FROM data ORDER BY ROWID DESC LIMIT :capacity)///');//n query.bindValue(:capacity, DATABASE_CAPACITY);//n query.exec();//n }//n //nprivate://n QLineEdit *temperatureLineEdit;//n QLineEdit *lightControlLineEdit;//n QTextEdit *databaseContentTextEdit;//n QSqlDatabase db;//n};//n//nint main(int argc, char *argv[]) {//n QApplication app(argc, argv);//n //n Widget widget;//n widget.show();//n //n return app.exec();//n}//n//n#include ///'main.moc///


原文地址: https://www.cveoy.top/t/topic/p8PH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录