我制作了一个自定义的 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();
}