I am trying to use a QTimer with a mouseMoveEvent to highlight some cards. I do not know what I am doing wrong. If someone can give me some useful hints.
//In Constructor
connect(timer, SIGNAL(timeout()), this, SLOT(highlightCard()));
timer->start(500);
{
if (event
->type
() == QEvent::MouseMove) {
x_pos = event->pos().x();
y_pos = event->pos().y();
}
}
void Canvas::highlightCard()
{
QGraphicsColorizeEffect *effect = new QGraphicsColorizeEffect(this);
for (int i = 0; i < MAXCARDS; i++)
{
if (cardIconPlayer
[i
]->pos
() == QPoint(x_pos, y_pos
)) cardIconPlayer[i]->setGraphicsEffect(effect);
}
}
//In Constructor
QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(highlightCard()));
timer->start(500);
void Canvas::mouseMoveEvent(QMouseEvent *event)
{
if (event->type() == QEvent::MouseMove)
{
x_pos = event->pos().x();
y_pos = event->pos().y();
}
}
void Canvas::highlightCard()
{
QGraphicsColorizeEffect *effect = new QGraphicsColorizeEffect(this);
effect->setColor(QPalette::Highlight);
for (int i = 0; i < MAXCARDS; i++)
{
if (cardIconPlayer[i]->pos() == QPoint(x_pos, y_pos))
cardIconPlayer[i]->setGraphicsEffect(effect);
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks