2012-04-23 6 views
0

QGraphicsPixmapItem에서 파생 된 사용자 지정 클래스가 있습니다. 그 GraphPixmapItemCustom라고하고 오버로드 된 것 방법은 다음과 같습니다QT 문제로 연결 - 연결되지 않았습니까?

private: 
    GraphPixmapItemCustom *pixItemRGB; 

라는 클래스 GraphPixmapItemCustom의 개체에 대한 포인터를 가지고 메인 클래스에서

signals: 
    void addPoint(QPointF position); 

:

void GraphPixmapItemCustom::mousePressEvent(QGraphicsSceneMouseEvent *event) 
{ 
    QGraphicsPixmapItem::mousePressEvent(event); 
    GraphMarkItemCustom *ptr; 

    if(event->button() == Qt::RightButton) 
    {   
     qDebug("Before emit"); 
     emit addPoint(QPointF(event->pos().x(), event->pos().y())); 
     qDebug("After emit"); 

     markList.append(new GraphMarkItemCustom(QPointF(event->pos().x(), event->pos().y()))); 
     ptr = markList.last(); 
     markGroup->addToGroup(ptr); 
     //this->scene()->addItem(ptr); 
    } 
} 

신호가 헤더에 선언 메인 클래스에는 다음과 같은 슬롯이 있습니다 :

private slots: 
    void pointAdd(QPointF position); 
메인 클래스의 생성자에서 16,

나는 연결이 : 만 qDebug("YUPPY IT ACTUALLY WORKS!");

이 슬롯에

connect(pixItemRGB, SIGNAL(addPoint(QPointF)), this, SLOT(pointAdd(QPointF))); 

을하지만 슬롯 해고에 beeing되지 않습니다. 왜? 모든 moc 파일과 거기에있을 필요가없는 모든 것을 삭제했습니다. 따라서 .pro, .h.cpp 개의 파일과 함께 .ui 개의 양식이 필요합니다.

Google에서 가장 많은 조회수를 확인했습니다. 무엇이 최선인지 (나는 sured 아니에요 - 어쩌면 내가 수정 한 것) 효과가 있어요! 이 연결의 작용 효과를 기억합니다. 도움!

+0

"방출 전"과 "방출 후"가 콘솔에 인쇄됩니까? 'connect'에 대한 호출이'true'를 리턴합니까? – alexisdm

+0

QGraphicsPixmapItem 외에 QObject로부터 상속하는 것을 잊어 버리셨습니까? – Anthony

+0

예, 인쇄되고 연결이 true를 반환합니다. – silverado

답변

1

당신은는 new 연산자와 GraphPixmapItemCustom 객체를 생성 한 후 상기 신호 연결한다.

관련 문제