代码补写只显示增添部分:用户在UserWidget界面点击QComboBox选择模式SQlite的Status表内数据改变要求点击Lights界面数据同时被更新#ifndef USERSWIDGET_H#define USERSWIDGET_H#include QWidgetnamespace Ui class UsersWidget;class UsersWidget public QWidg
void Lights::updateLastBrightness(int userid, QString brightness) { Sqlite::sqlite_init(); QString queryStr = QString("UPDATE Status SET value = '%1' WHERE uid = %2 AND device_name = '智能灯'").arg(brightness).arg(userid); QSqlQuery query; if (!query.exec(queryStr)) { qDebug() << "更新亮度失败: " << query.lastError().text(); } }
QString Lights::getLastState(int userid) { Sqlite::sqlite_init(); QString queryStr = QString("SELECT device_state FROM Status WHERE uid = %1 AND device_name = '智能灯' ORDER BY sid DESC LIMIT 1").arg(userid); qDebug() << queryStr << userid; QSqlQuery query; if (query.exec(queryStr) && query.next()) { return query.value(0).toString(); } else { qDebug() << "得到上一次状态错误: " << query.lastError().text(); return ""; } }
void UsersWidget::on_modeComboBox_currentIndexChanged(const QString &mode) { if (mode == "睡眠模式") { updateSmartHomeStatus(userid, "智能灯", "开启", "20"); updateSmartHomeStatus(userid, "空调", "开启", "27"); updateSmartHomeStatus(userid, "加湿器", "开启", "50"); updateSmartHomeStatus(userid, "窗帘", "开启", "100"); // 更新Lights界面的数据 Lights *lights = findChild<Lights *>(); if (lights != nullptr) { lights->loadLastStatus(); } } else if (mode == "日常模式") { updateSmartHomeStatus(userid, "智能灯", "开启", "80"); updateSmartHomeStatus(userid, "空调", "开启", "25"); updateSmartHomeStatus(userid, "加湿器", "开启", "60"); updateSmartHomeStatus(userid, "窗帘", "开启", "50"); // 更新Lights界面的数据 Lights *lights = findChild<Lights *>(); if (lights != nullptr) { lights->loadLastStatus(); } } else if (mode == "节能模式") { updateSmartHomeStatus(userid, "智能灯", "开启", "50"); updateSmartHomeStatus(userid, "空调", "开启", "26"); updateSmartHomeStatus(userid, "加湿器", "开启", "40"); updateSmartHomeStatus(userid, "窗帘", "开启", "30"); // 更新Lights界面的数据 Lights *lights = findChild<Lights *>(); if (lights != nullptr) { lights->loadLastStatus(); } } }
原文地址: https://www.cveoy.top/t/topic/izCG 著作权归作者所有。请勿转载和采集!