Gráficos de uso de QT

Índice

1. Conceito

1.1 Eixo de coordenadas-QAbstractAxis

1.2 Série-QAbstractSeries

1.3 Legenda-Lenda

1.4 Gráfico-QChart

1.5 Ver-QChartView

2. Gráfico de linhas QT

2.1 Introdução ao gráfico de linhas Qt

2.2 Implementação do gráfico de linhas Qt


 

Gráfico Qt é um controle especialmente usado para visualização de dados

Os gráficos Qt incluem linha, pizza, barra, dispersão, intervalo, etc.

Ao usar gráficos Qt, você precisa adicionar gráficos Qt +=

Incluir arquivos de cabeçalho#incluir

1. Conceito

1.1 Eixo de coordenadas-QAbstractAxis

Nos gráficos, geralmente existem eixos de coordenadas X e Y, e os mais complexos também possuem um eixo Z. Os gráficos correspondentes ao Qt também possuem objetos nos eixos X e Y. Mas hoje não vamos apresentá-lo ainda. Se não criarmos um objeto correspondente às coordenadas do eixo, podemos usar o objeto de eixo padrão do Qt. Apresentaremos o uso mais tarde.

1.2 Série-QAbstractSeries

Quer se trate de uma curva, gráfico de pizza, gráfico de barras ou outro gráfico, o conteúdo exibido nele são essencialmente dados. Uma curva é um conjunto de dados e um gráfico de pizza também corresponde a um conjunto de dados. Nos Qt Charts, esses grupos de dados são chamados de séries. Qt fornece diferentes séries correspondentes a diferentes tipos de gráficos. Além de serem responsáveis ​​​​pelo armazenamento e acesso aos dados, as séries também devem fornecer métodos de desenho de dados, como gráficos de linhas e gráficos de curvas correspondentes a QLineSerie e QSPLineSerie respectivamente. Podemos usar séries diferentes para atingir diferentes propósitos de exibição.

1.3 Legenda-Lenda

Semelhante ao Excel, as legendas também são fornecidas nos gráficos Qt, e as legendas também podem ser mostradas ou ocultadas.

1.4 Gráfico-QChart

Qt fornece a classe QChart para encapsular o conteúdo mencionado anteriormente, como eixos coordenados, séries, legendas, etc. QChart assume um papel organizacional e de gestão. QChart deriva de QGraphicsObject, portanto é na verdade um item primitivo. Podemos obter objetos de eixo, objetos de série de dados, legendas, etc. do QChart e podemos definir o tema, a cor de fundo e outras informações de estilo do gráfico.

1.5 Ver-QChartView

 Responsável pela exibição do QChart. O próprio QChart é responsável apenas pela organização e gerenciamento do conteúdo do gráfico. A exibição do gráfico é controlada pela visualização, que é QChartView. QChartView é derivado de QGraphicsView, mas fornece especificamente várias interfaces orientadas a QChart, como setChart (QChart*), etc.


2. Gráfico de linhas QT

2.1 Introdução ao gráfico de linhas Qt

 A classe usada pelo gráfico de linhas Qt é QlineSeries.

O gráfico de linhas Qt contém as seguintes partes: ① Eixo de coordenadas (x, y) ② Linha ③ Linha de fundo de referência

2.2 Implementação do gráfico de linhas Qt

O processo de implementação do gráfico de linhas Qt inclui principalmente as seguintes etapas:

1. Crie um novo gráfico de objeto gráfico QChart;

2. Adicione eixos coordenados (eixos x, y) ao gráfico;

3. Promova um QWidget para QChartView na interface do usuário como a visualização do gráfico;

4. Adicione um novo objeto polilinha QLineSeries ao gráfico (várias linhas podem ser adicionadas)

5. Adicione dados

6. Limpar dados

um. Crie um novo gráfico de objeto gráfico QChart

QChart *chart = new QChart();
 chart->legend()->setVisible(true);
 QFont font;
 font.setPixelSize(50);
chart->setTitleFont(font);
 chart->setTitle("小红体重曲线");//设置图表标题

dois. Adicione eixos coordenados (eixo x, eixo y) ao gráfico

QValueAxis *axisX;
 axisX = new QValueAxis();
axisX->setTitleText("时间"); //设置坐标轴的标题
 axisX->setLabelFormat("%i"); //设置坐标格式,类似于 printf
axisX->setTickCount(10); //坐标被分成多少格
axisX->setRange(0, 60); //设置范围
//Bottom 是底部的意思,意思是坐标轴是放在底部的,也就是 X 轴
//相似的还有 Qt::AlignLeft...
chart->addAxis(axisX, Qt::AlignBottom);
QValueAxis *axisY;
 axisY = new QValueAxis();
 axisY->setTitleText("体重"); //设置坐标轴的标题
 axisY->setLabelFormat("%i"); //设置坐标格式
 axisY->setTickCount(5); //坐标被分成多少格
axisY->setRange(0, 200); //设置范围
chart->addAxis(axisY, Qt::AlignLeft);

três. Promova um QWidget em QChartView na interface do usuário como a visualização do gráfico;

Quatro. Adicione um novo objeto polilinha QLineSeries no gráfico (várias linhas podem ser adicionadas)

line = new QLineSeries;
line->setName("体重曲线"); //设置线的名字
line->setColor(Qt::red); //设置线的颜色
 chart->addSeries(line); //把曲线加到图表里 //设置曲线遵循哪个坐标,它会自动
识别 x,y 轴,因为坐标轴里的 AlignBottom/AlignLeft 属性
line->attachAxis(axisX);
line->attachAxis(axisY);
ui->chartView->setChart(chart);//把拆线添加到控件

 cinco. Adicione dados e simule usando temporizador

1. Inicialização do temporizador

QTimer *timer = new QTimer(this);
 connect(timer, SIGNAL(timeout()), this, SLOT(slotTimeout()));
x = 0;
 timer->start(1000);

2. Função de slot de temporizador

void Widget::doTimeoutSlot()
{
 y = qrand() % 200; //生成随机数,范围在 200 以内,因为我们 y 轴最大是 200
 qDebug()<<"y="<<y;
 if(x > 60){
x = 0;
 line->clear();
 }else{
 line->append(x, y);
 x++;
 }
}

seis. Limpar linha de dados->clear();

Acho que você gosta

Origin blog.csdn.net/Lushengshi/article/details/132420102
Recomendado
Clasificación