Istnieje jakiś sposób żeby dowiedzieć się jaki obiekt wysłał event w qt?
0
0
nie pisałem w qt, ale pewnie jak w C++o podobnych, będzie to (*sender) lub coś w tym stylu..,pokaż jakiś kawałek kodu, żebyśmy wiedzieli o co się zaczepić..
0
void GameItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)
{
update();
}
void GameItem::dropEvent(QGraphicsSceneDragDropEvent *event)
{
if(event->mimeData()->hasText())
{
iNumber = qVariantValue<QString>(event->mimeData()->text()).toInt();
update();
}
}
void GameItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
setCursor(Qt::ClosedHandCursor);
}
void GameItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{
if (QLineF(event->screenPos(), event->buttonDownScreenPos(Qt::LeftButton))
.length() < QApplication::startDragDistance()) {
return;
}
QDrag *drag = new QDrag(event->widget());
QMimeData * mime = new QMimeData();
mime->setText(QString::number(iNumber));
drag->setMimeData(mime);
drag->exec();
setCursor(Qt::OpenHandCursor);
}
void GameItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
{
setCursor(Qt::OpenHandCursor);
}
W tym powyższym kodzie wysyłam tekst w MIME i to nie jest to o co mi chodzi. Potrzebuje coś takiego że obiekt B na którym został położony obiekt A bedzie wiedział co to za obiekt (np. wskaźnik) bo obiek B zmodyfikuje jedna zmienna A.
0
Interesuje cię QObject::sender - poczytaj sobie o tej funkcji.