无法使用 qlogvalueaxis.h 编译 Qt 项目
Unable to compile Qt project using qlogvalueaxis.h
我目前正在开发用于控制仪器的 C++ 应用程序。仪器输出应使用 QChart 显示。对于显示,我创建了一个带有 QChartView 小部件的 Qt 用户界面。
这里是显示的头文件class:
#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 实例 class。一种采用线性缩放,一种采用对数缩放,用于显示不同的数据类型。
我在这里找到了关于使用对数轴缩放的 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. 克拉斯特夫
我遇到了类似(或可能相同)的问题。我收到编译错误,指出 min() 和 max() 函数原型已经在别处声明,所以如果是这种情况,您只需在包含 QtCharts headers 之前添加以下内容来省略 min 和 max 宏:
#ifdef max
#undef max
#endif
#ifdef min
#undef min
#endif
我目前正在开发用于控制仪器的 C++ 应用程序。仪器输出应使用 QChart 显示。对于显示,我创建了一个带有 QChartView 小部件的 Qt 用户界面。
这里是显示的头文件class:
#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 实例 class。一种采用线性缩放,一种采用对数缩放,用于显示不同的数据类型。
我在这里找到了关于使用对数轴缩放的 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. 克拉斯特夫
我遇到了类似(或可能相同)的问题。我收到编译错误,指出 min() 和 max() 函数原型已经在别处声明,所以如果是这种情况,您只需在包含 QtCharts headers 之前添加以下内容来省略 min 和 max 宏:
#ifdef max
#undef max
#endif
#ifdef min
#undef min
#endif