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 아니에요 - 어쩌면 내가 수정 한 것) 효과가 있어요! 이 연결의 작용 효과를 기억합니다. 도움!
"방출 전"과 "방출 후"가 콘솔에 인쇄됩니까? 'connect'에 대한 호출이'true'를 리턴합니까? – alexisdm
QGraphicsPixmapItem 외에 QObject로부터 상속하는 것을 잊어 버리셨습니까? – Anthony
예, 인쇄되고 연결이 true를 반환합니다. – silverado