Seite 1 von 1

Fenster in MoveEvent() bewegen

Verfasst: 31. Januar 2011 11:11
von dusti
Ich habe folgenden Code:

Code: Alles auswählen

void Player::moveEvent(QMoveEvent *event)
{
    if (this->x() < snapRange)
    {
        qDebug() << "Dock!";
        this->move(0, event->pos().y());
        this->setGeometry(0, this->y(), this->width(), this->height());
    }
}
Player erbt von QMainWindow.
Was ich erreichen will ist, dass das Fenster, sobald es näher als snapRange am linken Bildschirmrand ist, an den Bildschirmrand andockt. Dies scheitert aber daran, dass weder this->move(...) noch this->setGeometry(...) das Fenster direkt versetzen, das Fenster wird erst nach dem loslassen der Maus an die neue Position gebracht. Bewegt man das Fenster also mit der Maus in den "Snap-Bereich" hinein und lässt sie los, snapt das Fenster korrekt an den Bildschirmrand. ich möchte aber, dass das Fenster schon snapt, bevor der User die Maus loslässt. Kennt jemand eine Lösung, das Fenster direkt in MoveEvent() zu bewegen, sodass dies dem User unmittelbar angezeigt und nicht gewartet wird, bis die Bewegung zu ende ist?

Danke schonmal, dusti

Verfasst: 6. Februar 2011 13:11
von dusti
Hat den wirklich niemand auch nur einen kleinen Tipp was ich machen könnte?

Re: Fenster in MoveEvent() bewegen

Verfasst: 6. Februar 2011 15:44
von padreigh
accepte doch mal das event und schmeiss ein neues mit den von dir gewünschten Koordinaten los ...