QDockWidget an einem Raster "ausrichten"

Alles rund um die Programmierung mit Qt
Antworten
WilliamSpiderWeb
Beiträge: 14
Registriert: 2. März 2011 23:14

QDockWidget an einem Raster "ausrichten"

Beitrag 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.
WilliamSpiderWeb
Beiträge: 14
Registriert: 2. März 2011 23:14

Beitrag 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.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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.
WilliamSpiderWeb
Beiträge: 14
Registriert: 2. März 2011 23:14

Beitrag 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.
padreigh
Beiträge: 340
Registriert: 13. Mai 2010 10:06

Beitrag von padreigh »

mouseReleaseEvent -> wenn innerhalb von N Pixeln zum Parentframe/QDesktopWidget-whatever-Size() mauskoordinate des Events anpassen und weitergeben zum Handling
Patrick (QtCreator 1.3.1, Qt 4.6.3)
---
template = subdirs
Antworten