私は現在、計測器を制御するための 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.クラステフ