#include 'information.h' #include 'ui_information.h' #include 'sqlite.h' #include <QtCharts/QChartView> #include <QtCharts/QLineSeries> #include <QtCharts/QValueAxis> #include #include #include

Information::Information(QWidget *parent) : QWidget(parent), ui(new Ui::Information) { ui->setupUi(this); setWindowTitle('家居状态'); setFixedSize(600,400);

QVBoxLayout *layout = new QVBoxLayout(this); // 创建一个垂直布局对象

QtCharts::QChartView *chartView = new QtCharts::QChartView(this);
QtCharts::QLineSeries *series = new QtCharts::QLineSeries();

Sqlite::sqlite_init();
QSqlQuery query;
query.exec("SELECT value FROM Status WHERE device_name = '空调' AND device_state = '开启'");
while (query.next())
{
    double temperature = query.value(0).toDouble();
    series->append(series->count(), temperature);
}

QtCharts::QChart *chart = new QtCharts::QChart();
chart->addSeries(series);

QtCharts::QValueAxis *axisY = new QtCharts::QValueAxis();
axisY->setRange(-5, 42); // 设置纵坐标范围
chart->addAxis(axisY, Qt::AlignLeft);
series->attachAxis(axisY);

chart->setTitle('温度变化表'); // 设置折线图名

chartView->setChart(chart);
chartView->setRenderHint(QPainter::Antialiasing);
chartView->setMinimumSize(800, 600);

layout->addWidget(chartView); // 使用布局对象的addWidget()函数添加chartView
setLayout(layout); // 将布局对象设置为窗口的布局

}

Information::~Information() { delete ui; }

Qt 折线图显示空调温度变化 - 家居状态监控

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

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