【问题标题】:Can't include <QtCharts/QLineSeries>不能包含 <QtCharts/QLineSeries>
【发布时间】:2016-12-12 16:20:16
【问题描述】:

似乎我找不到在我的标题中包含 &lt;QtCharts/QLineSeries&gt; 的方法,所以 Qt 知道 QLineSeries 类。

  • 我将Qt += charts 添加到我的 .pro 文件中。
  • 我将#include &lt;QtCharts/QLineSeries&gt; 添加到MainWindow.h
  • 然后我删除 .pro.user 文件和我已完成的所有构建。然后重新打开 .pro 文件,以最干净的方式重新配置项目。
  • 最后我将构建模式设置为Release,通过右键单击项目并选择它并运行它来运行QMake。

我收到消息:

 ...\PlottingCharts\mainwindow.h:14: error: 'QLineSeries' does not name a type
     QLineSeries *series;
     ^

很明显,Qt 对 QLineSeries 一无所知。

作为参考,linechartopenglseries 示例可以正常工作。

有人知道我错过了什么吗?

【问题讨论】:

    标签: c++ qt qtcharts


    【解决方案1】:

    当我写下这个问题时,我找到了答案。

    我在头文件中缺少using namespace QtCharts;。 参考来自:http://doc.qt.io/qt-5/qtcharts-index.html

    【讨论】:

    • 确实,您遇到的错误是编译器错误,抱怨类型未定义,而不是未找到包含!对于遇到这个问题的人来说,如果他们收到有关未找到符号的链接器错误,那是因为他们忘记在 .pro 文件中添加 Qt += 图表(或忘记重新应用 qmake)
    • 你不应该在头文件中放置using namespace 声明。这是不好的编码习惯。有关详细信息,请参阅stackoverflow.com/a/5849668/3964397
    【解决方案2】:

    如果你想避免指定命名空间,你也可以将你的变量声明为:

    QtCharts::QLineSeries *series;
    

    使用此解决方案,您总是必须在前面加上 QtCharts::,但您也知道您的范围和呼叫来源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-05-28
      • 2020-11-09
      • 2020-04-06
      • 2011-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多