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.
Widget Koordinatensysteme
Widget Koordinatensysteme
Gruß von qtNiko
Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
Core i5 760, GT 240, Suse Linux11.3, Eclipse-CDT-Helios, QT4.4, QT-Integration
Re: Widget Koordinatensysteme
Hier ist ein guter Text über Koordinaten.qtNiko hat geschrieben:hi,
ich kann in der Doku nichts über die Koordinatensysteme der Widgets finden.
http://doc.trolltech.com/4.5/coordsys.html
Damit gilt das auch für Widgets.The QPaintDevice class is the base class of objects that can be painted: Its drawing capabilities are inherited by the QWidget, QPixmap, QPicture, QImage, and QPrinter classes.
Gruss
Ganwell