Weiß jemand, wie man die Position eines Widgets w ermitteln kann,
dass sich innerhalb eines QWorkspace-Widgets befindet?
Eigentlich sollte sich das ja mit w->x(), w->y() oder w->pos()
machen lassen. Die Methoden sollen die Position des Widgets
relativ zu seinem Parent angeben. Bei Widgets, die sich innerhalb
eines QWorkspace-Widgets befinden, bekomme ich allerdings immer
die Position des Workspace-Widgets selbst bezueglich seines
eigenen Parents (hier ein QMainWindow) zurueck.
Die Methoden w->width(), w->height() funktionieren aber nach
wie vor ganz normal innerhalb des Workspace.
Was habe ich da uebersehen???
[gelöst] QWorkspace frisst Child Positionen (mampf, mampf)
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Naja, übersehen? Mh, du fragst QWorkspace ab und nicht das Fenster innerhalb des Workspaces?
/* Hier sind jetzt alle Fenster, die im Workspace liegen enthalten */
QWidgetList windows = qworkspace -> windowList( Workspace::CreationOrder );
Du könntest z.B. einfach focusWidget nehmen:
QWidget *curWidget = qApp -> focusWidget();
if ( curWidget -> inherits( "QLineEdit" ) )
Oder du kannst das Widget auch direkt von QWorkspace abfragen, weiß ich aber nicht auswendig.
/* Hier sind jetzt alle Fenster, die im Workspace liegen enthalten */
QWidgetList windows = qworkspace -> windowList( Workspace::CreationOrder );
Du könntest z.B. einfach focusWidget nehmen:
QWidget *curWidget = qApp -> focusWidget();
if ( curWidget -> inherits( "QLineEdit" ) )
Oder du kannst das Widget auch direkt von QWorkspace abfragen, weiß ich aber nicht auswendig.
Hallo Florian,
Danke fuer den Tip. Ich habe die Widgets innerhalb des QWorkspace-
Widgets direkt angesprochen, um ihre Geometrien zu aendern.
Die Dokumentation fuer QWorkspace sagt dazu:
"To change or retrieve the geometry of MDI windows you must
operate on the MDI widget's parentWidget()."
Tja, das haette ich mal beachten sollen... Hab's ueberlesen.
Ein bißchen suspekt bleibt das Verhalten der MDI-Widgets
bei Geometrieaenderungen aber doch, finde ich. Die Breite und
Hoehe laesst sich naemlich auch direkt vom MDI-Widget selbst
erfragen, bloß die Position bekommt man nur ueber
w->parentWidget()->x() bez. y().
Gruesse, Kai
Danke fuer den Tip. Ich habe die Widgets innerhalb des QWorkspace-
Widgets direkt angesprochen, um ihre Geometrien zu aendern.
Die Dokumentation fuer QWorkspace sagt dazu:
"To change or retrieve the geometry of MDI windows you must
operate on the MDI widget's parentWidget()."
Tja, das haette ich mal beachten sollen... Hab's ueberlesen.
Ein bißchen suspekt bleibt das Verhalten der MDI-Widgets
bei Geometrieaenderungen aber doch, finde ich. Die Breite und
Hoehe laesst sich naemlich auch direkt vom MDI-Widget selbst
erfragen, bloß die Position bekommt man nur ueber
w->parentWidget()->x() bez. y().
Gruesse, Kai