Widget Koordinatensysteme
Verfasst: 3. Januar 2009 16:48
hi,
ich kann in der Doku nichts über die Koordinatensysteme der Widgets finden.
Ich möchte die Mouseposition, die in Koordinaten des Hauptfensters vorliegen, in ein Koordinatensystem umwandeln, das auf ein spezielles Widget, z.B. ein QLabel, bezogen ist, d.h. wenn ich in die linke, obere Ecke des QLabels klicke, möchte ich (0, 0) erhalten.
Ein Tipp aus diesem Forum sagte, dafür gebe es schöne Funktionen. OK, es gibt mapFrom(), mapFromParent() und mapFromGlobal(). Letzteres scheidet aus. mapFromParent() liefert mir anstatt (0, 0) die Koordinate (-290, 0). mapFrom() liefert (-290, -27). Die Werte 290 und 27 entsprechen der linken bzw. oberen Kante des QLabel im Hauptfenster, aber was soll das?
Natürlich kann ich einfach auf alle Koord. entsprechende Offsets addieren, und dann ist alles ok. Aber das geht mir irgendwie gegen den Strich. Wenn es schon diese Funktionen gibt, warum liefern die Positionen, die ich dann doch erst wieder korrigieren muss? Ich würde gern verstehen, wie die Koordinatensyteme definiert sind.
ich kann in der Doku nichts über die Koordinatensysteme der Widgets finden.
Ich möchte die Mouseposition, die in Koordinaten des Hauptfensters vorliegen, in ein Koordinatensystem umwandeln, das auf ein spezielles Widget, z.B. ein QLabel, bezogen ist, d.h. wenn ich in die linke, obere Ecke des QLabels klicke, möchte ich (0, 0) erhalten.
Ein Tipp aus diesem Forum sagte, dafür gebe es schöne Funktionen. OK, es gibt mapFrom(), mapFromParent() und mapFromGlobal(). Letzteres scheidet aus. mapFromParent() liefert mir anstatt (0, 0) die Koordinate (-290, 0). mapFrom() liefert (-290, -27). Die Werte 290 und 27 entsprechen der linken bzw. oberen Kante des QLabel im Hauptfenster, aber was soll das?
Natürlich kann ich einfach auf alle Koord. entsprechende Offsets addieren, und dann ist alles ok. Aber das geht mir irgendwie gegen den Strich. Wenn es schon diese Funktionen gibt, warum liefern die Positionen, die ich dann doch erst wieder korrigieren muss? Ich würde gern verstehen, wie die Koordinatensyteme definiert sind.