Fenster in MoveEvent() bewegen

Alles rund um die Programmierung mit Qt
Antworten
dusti
Beiträge: 35
Registriert: 7. März 2009 14:24

Fenster in MoveEvent() bewegen

Beitrag 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
dusti
Beiträge: 35
Registriert: 7. März 2009 14:24

Beitrag von dusti »

Hat den wirklich niemand auch nur einen kleinen Tipp was ich machen könnte?
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Re: Fenster in MoveEvent() bewegen

Beitrag von padreigh »

accepte doch mal das event und schmeiss ein neues mit den von dir gewünschten Koordinaten los ...
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Antworten