Fenster in MoveEvent() bewegen
Verfasst: 31. Januar 2011 11:11
Ich habe folgenden Code:
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
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());
}
}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