qt自定义类中没有名为“setText”的成员错误

时间:2021-01-22 10:37:22

标签: c++ qt class

我制作了一个自定义的 qt 类,odometer,它继承自 QWidget,一切正常,除非我尝试构建整个东西时,它在 ui_mainwindow.h 文件中显示错误,

<块引用>

'class odometer' 没有名为 'setText' 的成员

我没有在任何地方使用过这个函数,但是每当我尝试构建时,qt 总是将它放在 ui_mainwindow.h 文件中。请帮帮我,这是里程表:

里程表.h:

    #ifndef ODOMETER_H
    #define ODOMETER_H
    #include <QWidget>
    #include<QLabel>




class odometer : public QWidget
{
    Q_OBJECT

public:
    QPixmap *img = new QPixmap;
    int val1;
   void getpos(int *val);

  odometer(QWidget *parent=nullptr);

    virtual ~odometer()

    {};


protected:
    void paintEvent(QPaintEvent *event) ;
};


#endif // ODOMETER_H

里程表.cpp:

#include <QtGui>
#include <odometer.h>
#include <math.h>



odometer::odometer(QWidget *parent)
    :QWidget(parent)
{
    img->load("C:/meter.png");
}

void odometer::getpos(int *val)
{
    val1=*val;
    this->update();
}

void odometer::paintEvent(QPaintEvent *)
{

    QPointF pts[3] = {
        QPointF(-5,80),
        QPointF(5,80),
        QPointF(90*qCos(2.0944+(0.017*val1)),90*qSin(2.0944+(0.017*val1)))
        //QPointF(0,0)

};
  QPainter paint(this);

          paint.translate(200,180);
        QColor minuteColor(0, 127, 127, 191);
       paint.setRenderHint(QPainter::Antialiasing);
        paint.setPen(Qt::blue);
        paint.setBrush(minuteColor);


       paint.save();

        paint.drawConvexPolygon(pts , 3);
        paint.drawPixmap(-200,-180,400,400,*img);
        paint.restore();

}

0 个答案:

没有答案