我在定义信号之后,使用emit时,报undefined reference to 'OcrSrollArea::selectChoic(int x, int y)'
这是为什么???希望各位大大,帮忙
这是我的头文件
#ifndef OCRSROLLAREA_H
#define OCRSROLLAREA_H
#include <QScrollArea>
class OcrSrollArea : public QScrollArea
{
private:
void mousePressEvent(QMouseEvent *e);
void selectChoic(int x, int y);
public:
OcrSrollArea();
~OcrSrollArea();
signals:
void selectChoiced(int, int);
};
#endif // OCRSROLLAREA_H
这是我的cpp文件
#include "OcrSrollArea.h"
#include <QMouseEvent>
#include <QScrollBar>
#include <iostream>
using namespace std;
OcrSrollArea::OcrSrollArea()
{
}
OcrSrollArea::~OcrSrollArea()
{
}
void OcrSrollArea::mousePressEvent(QMouseEvent *e)
{
cout<<"horizontalScrollBar()->value()"<<this->horizontalScrollBar()->value()<<endl;
cout<<"verticalScrollBar()->value()"<<this->verticalScrollBar()->value()<<endl;
int x = e->x() + this->horizontalScrollBar()->value();
cout<<"x ======== "<<x<<endl;
int y= e->y() + this->verticalScrollBar()->value();
cout<<"y======== "<<y<<endl;
// emit selectChoiced();
// selectChoic(x, y);
// emit selectChoiced(x, y);
}
void OcrSrollArea::selectChoic(int x, int y)
{
emit selectChoiced(x, y);
}