QRect / setTopLeft & setBottomRight nicht ausführbar

Alles rund um die Programmierung mit Qt
Antworten
Red_Hood
Beiträge: 8
Registriert: 23. Januar 2006 11:44
Wohnort: Bremen

QRect / setTopLeft & setBottomRight nicht ausführbar

Beitrag von Red_Hood »

Hallo Leute!!
Habe ein Koordinatenkreuz gezeichnet und versuche die Kurven, die ich erstellt habe, zu markieren! Die Klasse QRect ist definiert
(QRect rubberBandRect)!! Aber er gibt mir immer wieder die selben Fehlermeldungen aus.
Code:

Code: Alles auswählen

void SignalDiagram::mousePressEvent(QMouseEvent *event)
{
	if(event->button() == LeftButton)
	{

		rubberBandIsShown = true;
		rubberBandRect.setTopLeft(event->pos());
		rubberBandRect.setBottomRight(event->pos());
		updateRubberBandRegion();
		setCursor(crossCursor);
	}
}
Fehler: error C2039: 'setTopLeft' : Ist kein Element von 'QRect'
error C2039: 'setBottomRight' : Ist kein Element von 'QRect'

Kann mir jemand sagen wie ich das Problem lösen kann?

Vielen Dank
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Was meint den deine Compilerdokumentation zu Fehler C2039? Mir sagt das überhaupt nichts... Ist das überhaupt eine Compilerfehlermeldung?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

upsala hat geschrieben:Was meint den deine Compilerdokumentation zu Fehler C2039? Mir sagt das überhaupt nichts... Ist das überhaupt eine Compilerfehlermeldung?
Sie sagt genau das was dortsteht...

Allerdings ist es wirklich komisch - die Funktion gibt es in Qt3.x und auch 4.x. Versuche einfach mal eine andere Funktion von QRect aufzurufen. Wird qrect.h auch includiert?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Red_Hood
Beiträge: 8
Registriert: 23. Januar 2006 11:44
Wohnort: Bremen

Beitrag von Red_Hood »

Hallo Christian81!!
Allerdings ist es wirklich komisch - die Funktion gibt es in Qt3.x und auch 4.x.
Genau das Selbe sage ich mir auch die ganze Zeit!
Wird qrect.h auch includiert?
Ja die HeaderDatei wird includiert! Hinter der Fehlermeldung kann ich mir die Eigenschaften von QRect ansehen und da steht nichts anderes als in den Büchern oder in der Qt-Hilfe!

:roll: :roll: :roll: :roll:
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Dann definier dir in der Funktion einfach mal ein QRect

Code: Alles auswählen

QRect r(0,0,10,10);
r.moveLeft(5);
r.setBottom(20);
...
was auch immer - einfach mal damit rumspielen und schauen ob das funktioniert.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Red_Hood
Beiträge: 8
Registriert: 23. Januar 2006 11:44
Wohnort: Bremen

Beitrag von Red_Hood »

Problem gelöst!

setTopLeft kann in QRect nicht verwendet werden, da "setTopLeft" nicht definiert ist! TopLeft, ButtomRight usw. sind Punkte, die man mit "move" errecht und nicht mit "set"!

Als Erstes setzt man die Punkte des QRect(links, rechts...). Anschließend gibt man mit dem Befehl

Code: Alles auswählen

moveTopLeft(position);
moveButtomRight(position);
die Positionen an, in welche Richtung das QRect erstellt werden soll! In diesem Fall also: Oben-Links & UntenRechts!

Danke für deine Hilfe Christian81!!!

Gruß
Red_Hood :lol: :lol:
Antworten