You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio中基于Qwt Plot自定义Qt控件时遇未解析外部符号错误

问题描述

我尝试通过「添加>>新建项>>Qt类」,基于Qt结合Qwt扩展创建自定义控件。开发环境如下:

  • Visual Studio 2022
  • Qt 5.12.2
  • Qwt 6.2.0
  • Qt Creator 6.4.0

我成功实现了基于QLabel的自定义控件,但继承QwtPlot类时失败,出现未解析外部符号错误(见附图)。我尝试查找解决方案,发现相关内容多涉及Qwt的moc_文件,但将其添加到包含文件后仍无法解决问题。

自定义控件头文件 waterlooo.h

#ifndef WATERLOOO_H
#define WATERLOOO_H

#include "qwt_plot_curve.h"
#include <vector>

#include <QwtPlot>
#include "qobject.h"

using std::vector;

class Waterlooo  : public QwtPlot
{
    Q_OBJECT

public:
    Waterlooo(QWidget *parent = nullptr);
    ~Waterlooo();


    void plotujkur(vector<float> x, vector<float> y, int fftecka);
};

#endif

自定义控件源文件 waterlooo.cpp

#include "waterlooo.h"

Waterlooo::Waterlooo(QWidget *parent)
    : QwtPlot(parent)
{
    this->setAutoFillBackground(true);
    this->setPalette(Qt::white);
    this->setCanvasBackground(Qt::white);
}

Waterlooo::~Waterlooo()
{}


void Waterlooo::plotujkur(vector<float> x, vector<float> y, int fftecka)
{
    QwtPlotCurve* curve1 = new QwtPlotCurve;
    curve1->setSamples(&x[0], &y[0], fftecka);
    curve1->setPen(QColor(Qt::green));
    curve1->attach(this);
    this->replot();
}

内容的提问来源于stack exchange,提问作者Miro Bozon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:31:31