QT5 뷰 좌표
2680 단어 Qt
main.obj:-1: error: LNK2001: 해석할 수 없는 외부 기호'public: virtual struct QMetaObject const * __thiscall Mybiew::metaObject (void) const'(?metaObject@MyView@@UBEPBUQMetaObject@@XZ)
main.obj:-1: error: LNK2001: 해석할 수 없는 외부 기호 "public: virtual void * _ _ thiscall Mybiew: qt _ metacast (char const *)"(?qt_metacast@MyView@@UAEPAXPBD@Z)
main.obj:-1: error: LNK2001: 해석할 수 없는 외부 기호'public: virtual int___thiscall Mybiew::qt_metacall(enum QMetaObject:::Call, int,void*)'(?qt_metacall@MyView@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
debug\myScene.exe:-1: error: LNK1120: 해석할 수 없는 외부 명령 3개
이게 다 뭐야?
QWidget에서 상속된 클래스를 만들었습니다. 기본 클래스는 QGraphicsView입니다.
그리고 myview가 생성되었습니다.h 자동으로 매크로 Q_OBJECT. 그래서 그 오류를 보고했습니다.원리를 모르네.
고친 후에 프로젝트를 정리하는 것을 잊지 마세요!
myview.h
#ifndef MYVIEW_H
#define MYVIEW_H
#include
class MyView : public QGraphicsView
{
// Q_OBJECT
public:
explicit MyView(QWidget *parent = 0);
protected:
void mousePressEvent(QMouseEvent *event);
signals:
public slots:
};
#endif // MYVIEW_H
myview.cpp
#include "myview.h"
#include
#include
#include
MyView::MyView(QWidget *parent) :
QGraphicsView(parent)
{
}
void MyView::mousePressEvent(QMouseEvent *event)
{
QPoint viewPos = event->pos();
qDebug() <itemAt(scenePos,transform);
if(item)
{
QPointF itemPos = item->mapFromScene(scenePos);
qDebug() << "itemPos:" << itemPos;
}
}
main.cpp
#include
#include
#include
#include
#include
#include
#include "myitem.h"
#include "myitem.cpp"
#include "myview.h"
#include "myview.cpp"
int main(int argc,char *argv[])
{
QApplication app(argc,argv);
QGraphicsScene scene;
// QGraphicsRectItem * item = new QGraphicsRectItem(0,0,100,100);
MyItem *item = new MyItem;
scene.addItem(item);
item->setPos(10,10);
QGraphicsRectItem *rectItem = scene.addRect(QRect(0,0,100,100),
QPen(Qt::blue),QBrush(Qt::green));
rectItem->setPos(20,20);
MyView view;
view.setScene(&scene);
view.setForegroundBrush(QColor(255,255,255,100));
view.setBackgroundBrush(QPixmap("../myScene/11.jpg"));
view.show();
return app.exec();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Qt로 문자와 이미지의 혼합 텍스트 그리기텍스트를 그리려면 QPainter::drawText 함수를 사용하지만 텍스트와 동시에 이미지 (아이콘 등)를 함께 그리기를 원합니다. QLabel와 QPushButton는 이미지와 텍스트를 표시하는 기능을 가지고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.