Seite 1 von 1

DrawPolygon Problem mit Qt 4.1.4

Verfasst: 19. April 2007 16:19
von rkern
Hallo,

ich habe da ein Problem mit der Draw(Convex)Polygon Funktion. Ich zeichne eine Sieben-Segment-Anzeige aus 7 Sechecken, welche mit der Funktion DrawPolygon gezwichnet werden. Nun ist es so, das mit QT 4.1.0 alles in Ordnung ist, mit der Version 4.1.4, die ich leider benutzen MUSS (kein Weg daran vorbei) wird das Polygon falsch gezeichnet.
Kennt zufällig jemand diesen Effekt und/oder kennt die Lösung dazu?

Hier ein Screenshot von beiden Versionen:

http://www.beepworld.de/cgi-bin/hp/phot ... &pid=50343

Gruß und Dank im vorraus,

Roland Kern

p.s.: Der Source für beide Varianten ist der selbe und die Koordinaten der Eckpunkte sind korrekt.

Verfasst: 19. April 2007 16:27
von upsala
Kann man mal den Source sehen?

Verfasst: 19. April 2007 17:46
von rkern
Hallo upsala,

ich konnte das Problem mit einer winzigen Veränderung des Qt Beispiels "Basic Drawing" nachvollziehen. Hierzu mußt Du lediglich das DrawPolygon Beispiel auf 6 Punkte erweitern und folgende Daten setzen:

void RenderArea::paintEvent(QPaintEvent *)
{
static const QPoint points[6] = {
QPoint(3, 2),
QPoint(5, 0),
QPoint(11, 0),
QPoint(13, 2),
QPoint(11, 4),
QPoint(5, 4)
};
...

und schon gehts schief.

Gruß und Dank,

Roland Kern

Verfasst: 20. April 2007 08:47
von rkern
Hallo,

ich habe noch ein wenig weiter "geforscht" und mußte feststellen, daß das Problem auch dann auftaucht, wenn ich den DrawPolygon Aufruf durch 6 DrawLine Aufrufe ersetze.
Dieser "Fehler" von Qt ist bei der Verwendung des Laufzeitsystems 4.1.4 zu sehen und nicht bei 4.1.0 (Austausch des Laufzeitsystems, bzw. umsetzen der Pfadangabe).

Gruß und Dank im vorraus,

Roland Kern

Verfasst: 20. April 2007 21:06
von upsala
Ich kann dir nur sagen, daß es unter 4.2.2 funktioniert. Da die Version (warum auch immer) nicht wechseln willst, wird dir nichts anderes übrigbleiben, als den Fehler durch andere Koordinantenangaben gegenzusteuern.

Verfasst: 23. April 2007 10:40
von rkern
Hallo upsala,

das ich die Version 4.1.4 verwende liegt nicht daran das ich das will, sondern das ich das muss. Ich bin freier Mitarbeiter einer großen Firma und in dieser ist beschloßen worden das Projekt an dem ich gerade arbeite mit Qt 4.1.4 durchzuführen.
Also habe ich hier keinen Ermessensspielraum.

Gruß,

Roland Kern