专业制作网站是什么,手机网站建设公司排名,wordpress缩略图外链,做网站如何挂支付系统QT 二维坐标系显示坐标点及点与点的连线-通过定时器自动添加随机数据点 功能介绍头文件C文件运行过程 功能介绍
上面的代码实现了一个简单的 Qt 应用程序#xff0c;其功能包括#xff1a; 创建一个 MainWindow 类#xff0c;继承自 QMainWindow#xff0c;作为应用程序的… QT 二维坐标系显示坐标点及点与点的连线-通过定时器自动添加随机数据点 功能介绍头文件C文件运行过程 功能介绍
上面的代码实现了一个简单的 Qt 应用程序其功能包括 创建一个 MainWindow 类继承自 QMainWindow作为应用程序的主窗口。 在主窗口中添加了一个图表 (QChart) 和一个图表视图 (QChartView)用于显示图表内容。 在图表中添加了一个线系列 (QLineSeries)用于绘制数据点。 设置了图表的 X 轴和 Y 轴范围、颜色和标题。 使用 QTimer 创建了一个定时器每隔5秒触发一次 addPoint() 槽函数。 在 addPoint() 槽函数中生成了一个随机的 x 坐标和 y 坐标并将它们添加到线系列中以实现动态添加点的效果。
头文件
// mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include QMainWindow
#include QtCharts
#include QChartView
#include QSplineSeries
#include QTimerQT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWindow();private slots:void addPoint();private:Ui::MainWindow *ui;QTimer *timer;QLineSeries *series1;QChart *chart;
};#endif // MAINWINDOW_H
C文件
// mainwindow.cpp
#include mainwindow.h
#include ui_mainwindow.h
#include QRandomGeneratorMainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui-setupUi(this);QValueAxis *xAxis new QValueAxis();xAxis-setRange(-10, 10);xAxis-setLabelsColor(QColor(255, 0, 0));xAxis-setTitleText(X);QValueAxis *yAxis new QValueAxis();yAxis-setRange(-10, 10);yAxis-setLabelsColor(QColor(255,0, 0));yAxis-setTitleText(Y);series1 new QLineSeries();chart new QChart();chart-legend()-hide();chart-addSeries(series1);chart-createDefaultAxes();chart-setTitle( www );chart-addAxis(xAxis, Qt::AlignBottom);chart-addAxis(yAxis, Qt::AlignLeft);series1-attachAxis(xAxis);series1-attachAxis(yAxis);series1-setColor(QColor(255, 0, 0));series1-setUseOpenGL();QChartView *chartView new QChartView(chart);chartView-setChart(chart);chartView-setRubberBand(QChartView::RectangleRubberBand);chartView-setRenderHint(QPainter::Antialiasing,true);this-setCentralWidget(chartView);// 设置定时器timer new QTimer(this);connect(timer, SIGNAL(timeout()), this, SLOT(addPoint()));timer-start(1000); // 每隔5秒触发timeout()信号
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::addPoint()
{// 添加随机点int X QRandomGenerator::global()-bounded(-100, 100 1);int Y QRandomGenerator::global()-bounded(-100, 100 1);series1-append(X, Y);
}
运行过程