1

私は現在、計測器を制御するための C++ アプリケーションに取り組んでいます。計測器の出力は、QChart を使用して表示する必要があります。表示のために、QChartView ウィジェットを使用して Qt ユーザー インターフェイスを作成しました。

表示クラスのヘッダー ファイルは次のとおりです。

#pragma once

#include <QWidget>

#include "QtCharts\qchart.h"
#include <QtCharts\qchartview.h>
#include <QtCharts\qscatterseries.h>
#include <QtCharts\qlineseries.h>

#include "ui_ChartsDisplay.h"
#include <qthread.h>



using namespace QtCharts;

class ChartsDisplay : public QWidget
{
    Q_OBJECT

public:
    ChartsDisplay(QWidget *parent = Q_NULLPTR);
    ~ChartsDisplay();

private:
    Ui::ChartsDisplay ui;
    QLineSeries *trace,*retrace,*arbitrarySeriesX,*arbitrarySeriesY;
    QChart *chart;

    //QLogValueAxis *axisX, *axisY;

    void rescaleChart();


public slots:
    void SLUpdateChart(float *newValues);
    void SLSetupChartDisplay(int type);
    void SLResetChart();

    void SLUpdateNoise(float** newValues, int size);
};

ChartDisplay クラスの 2 つのインスタンスが必要です。1 つは線形スケーリングで、もう 1 つは対数スケーリングでさまざまなデータ型を表示します。

ここで対数軸スケーリングの使用に関するQtチュートリアルを見つけました:

https://doc.qt.io/qt-5/qtcharts-logvalueaxis-example.html

ただし、「qlogvalueaxis.h」を含めると、プログラムはコンパイルされなくなります。「qlogvalueaxis.h」に起因する構文エラーの長いリストが表示されます。

私は新しい Qt プロジェクトを作成し、qlogvalueaxis を使用して対数スケールで簡単なグラフを実装しましたが、うまくいきました。また、プロジェクト全体をクリーンアップし、コンパイルする前にすべての qt 生成ファイルを削除しました。問題はまだ残っていました。必要なすべてのライブラリがリンクされ、ヘッダー ファイルと同様に最新の状態になっています。

環境に関する情報: -Visual Studio 2015、コミュニティ エディション -Qt フレームワーク 5.8 -オペレーティング システムは Win 7

アドバイスをいただければ幸いです。

敬具、T.クラステフ

4

1 に答える 1