标题:为什么不能在.h文件中声明QChartView的指针, 怎么回事?
作者:y1363386323
日期:2016-12-03 17:05
内容:
最近在做一个项目,用到了QChartView图表,可在用时发现了一个问题,就是QChartView不能在.h文件中声明。详情如下:
mainWindow.h 文件下:
QChartView*chartView;
mainWindow.cpp 文件下:
chartView=new QChartView;
this->setCentralWidget(chartView);
这种情况编译不通过
////////////////////////////////////////////////////////////////////////////////////////////
mainWindow.cpp 文件下:
QChartView*chartView=new QChartView;
this->setCentralWidget(chartView);
这种情况编译通过了
请问怎么回事?为什么不能在mainWindow.h 文件下进行声明QChartView*chartView的指针?
#1 [johnyork 12-03 18:15]
没有提供编译错误信息,没法确定问题。
个人估计你是不是没在mainwindow.h中正确包含QChartView的头文件哦?
#2 回 johnyork 的帖子 [y1363386323 12-03 20:08]
johnyork:没有提供编译错误信息,没法确定问题。
个人估计你是不是没在mainwindow.h中正确包含QChartView的头文件哦?(2016-12-03 18:15)
包含了的,你偿试写下就知道了
#3 [y1363386323 12-03 20:12]
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include
class QChartView;
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QChartView *chartView;
};
#endif // MAINWINDOW_H
--------------------------------------------------------------------------------------------------
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include
using namespace QtCharts;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
chartView=new QChartView;
this->setCentralWidget(chartView);
}
MainWindow::~MainWindow()
{
delete ui;
}
--------------------------------------------------------------------------------
#4 [andyqi2017 12-23 14:32]
没有声明使用命名空间,在包含头文件之后加一行
QT_CHARTS_USE_NAMESPACE
就好了
#5 [andyqi2017 12-23 14:33]
虽然题主应该早就解决这个问题了,但还是要回复一下以供后来者参考。