Seite 1 von 1

QDockWidget an einem Raster "ausrichten"

Verfasst: 15. März 2011 17:02
von WilliamSpiderWeb
Hallo,

Ich möchte in meine Anwendung mehrere QDockWidgets verwenden und deren Position soll, wenn Sie den Status Floating haben (also nicht irgendwo angedockt sind), an einem Raster ausgerichtet werden soll.

Das heißt, bewegt man das Fenster, an den Rand meiner App oder in die Nähe eines anderen QDockWidget, soll es dort einrasten.

Zum Beispiel wird das in der Software Paint.NET so gemacht.

Gibt es dafür bereits fertige Klassen/Funktionen?

Wäre dankbar für eine kurze Info.

Verfasst: 15. März 2011 17:06
von WilliamSpiderWeb
sorry, ich habe jetzt zwei Sachen gemischt.
Also...

1. auf einem Raster bewegen lassen.

2. andockbar an die Ränder anderer Fenster und den App-Grenzen.

Danke.

Verfasst: 15. März 2011 19:26
von upsala
Nein, da gibt es nichts. Das mit dem Raster (außer das Standardmäßig 1x1-Raster) macht meiner Meinung nach auch keinen Sinn.

Du könntest aber versuchen im moveEvent des QDockWidget was zu basteln.

Verfasst: 15. März 2011 20:26
von WilliamSpiderWeb
warum keinen Sinn?
Wenn ich möchte, dass der User die beim Anordnen der Widgets die Möglichkeit hat, diese ordentlich anzuordnen... so wie es auch auf dem Windows Desktop der Fall ist.

Jo, wenn's nicht möglich ist, werd ich's über MoveEvent, ResizeEvent und TopLevelChange Event machen. Aber ich dachte, wenn ich mir die Arbeit sparen kann, warum nicht.

Verfasst: 16. März 2011 08:18
von padreigh
mouseReleaseEvent -> wenn innerhalb von N Pixeln zum Parentframe/QDesktopWidget-whatever-Size() mauskoordinate des Events anpassen und weitergeben zum Handling