Hallo Leute,
ich habe folgendes Problem und hoffe dass der Eine oder Andere mir helfen kann.
Ich habe ein Widget in einem Gridlayout positioniert.
Nun will ich seine Globale Position.
Dafür habe ich in meiner Klasse, in der ich das Widget erzeuge eine Methode:
QPoint Character::getGlobalPosition()
{
return mapToGlobal(QPoint(0,0));
}
wenn ich nun diese Methode auf ein Objekt aufrufe bekomme ich als Position immer (0,0). Egal auf welches Widget ich sie aufrufe.
wenn ich in die Methode: return mapFromGlobal(QPoint(4,6)); reinschreibe, bekomme ich auch den Punkt (4,6).
Was bedeutet, dass er eigentlich überhaupt nicht mapt.
Weiß jemand von euch woran das liegen könnte?
Dazu muss ich sagen, dass ich alle Widgets in eine GridLayout positioniert habe ohne feste Koordinaten zu geben. Ich habe lediglich die Position im Grid angegeben.
Danke.
Finde globalPositin von Widget nicht
-
soulsofpetro
- Beiträge: 16
- Registriert: 3. Dezember 2006 16:57
-
soulsofpetro
- Beiträge: 16
- Registriert: 3. Dezember 2006 16:57
-
dontinelli
- Beiträge: 146
- Registriert: 22. September 2006 20:53
Der fehler ist, dass du einen QPoint mit den Koordinaten 0,0 resp. 4,6 erstellst. Du musst als Argument aber die Positionen des Widgets übergeben. Versuch es doch mal damit:
LG
Don Tinelli
Code: Alles auswählen
QPoint Character::getGlobalPosition()
{
return mapToGlobal(widget.pos());
}Don Tinelli
-
soulsofpetro
- Beiträge: 16
- Registriert: 3. Dezember 2006 16:57