【问题标题】:How to add QwtPlot as a base class in Qt promote?如何在 Qt 提升中添加 QwtPlot 作为基类?
【发布时间】:2017-10-03 03:09:42
【问题描述】:

我正在使用 Qt creator 4.2.1。我已经成功安装了 Qwt lib,并且能够将 QwtPlot 小部件拖放到我的表单中。我有一个自定义类 Plot:public QwtPlot。我希望我可以将 QwtPlot 添加到我的表单中,然后将小部件提升到 Plot。

但是,当我尝试这样做时,提升对话框不会将 QwtPlot 显示为我可以选择的基类。如果我选择 QWidget 作为基类,然后指定“Plot”和“plot.h”作为我的提升类和头文件,我会遇到构建错误,抱怨重新定义“类 Plot”。我的项目中已经有了 plot.h,而且似乎 uic 为我创建了另一个“类图”。因此,编译器抱怨我的 plot.h 有一个重新定义的类。

如何解决这个问题?谢谢!

【问题讨论】:

  • 您是否将班级重命名为Plot?您可以从工具箱中将一个小部件放置在 ui 中并推广该小部件。检查您是否在 .pro 文件中添加了 printsuport

标签: c++ qt qwt


【解决方案1】:

从工具箱中放置一个小部件并使用提升并确保您的类结构类似于以下示例。

#ifndef PLOT_H
#define PLOT_H

#include <QObject>

#include <qwt_plot.h>

class Plot : public QwtPlot
{
    Q_OBJECT
public:
    explicit Plot(QWidget *parent = nullptr);

signals:

public slots:
};

#endif // PLOT_H

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 1970-01-01
    • 2013-11-06
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 2020-02-28
    相关资源
    最近更新 更多