Seite 1 von 1
QPainterpath mit Integer
Verfasst: 23. August 2010 15:11
von marvel
hallo,
gibt es eine möglichkeit einen qpainterpath mit integerwerten zu füllen anstatt mit fließkommazahlen, sonst würde ich ne eigene containerklasse schreiben.
Verfasst: 23. August 2010 15:28
von anno1988
du kannst auch einfach einen static_cast benutzen.
Bei welcher Methode werden denn da Fließkommazahlen verlangt?
Verfasst: 23. August 2010 15:37
von marvel
ich habe eine liste von koordinaten die aus fließkommazahlen bestehen. diese wollte ich in einen qpainterpath per addPolygon ablegen und später zeichnen lassen. leider nimmt der painterpath laut api nur fließkommazahlen auf.
Verfasst: 23. August 2010 15:43
von anno1988
also probleme hatte icjh bisher keine einen integer auf einen qreal bzw. float zu casten.
wie gesagt, versuche den static_cast.
so kann man es z.b. machen. dann den wert der methode übergeben.
PS: wenn deine koordianten aus fließkommazahlen bestehen und fleißkommazahlen verlagnt werden ist das ja garkeimn problem 8)
Verfasst: 23. August 2010 16:19
von marvel
okay, ich habe vergessen die noch ein paar infos zu geben. grundsätzlich ist es kein problem von int auf float oder double zu casten. ich möchte aber bei den integerwerten bleiben und diese in einem painterpath ablegen ohne sie zu casten. der grund ist einfach, mein qt fpr windows mobile unterstützt keine fließkommazahlen bzw zeichnet sie falsch. aus diesem grund bin ich gezwungen mit integerwerten zu arbeiten. da man laut api keinen qpainterpath mit intergerwerten füllen kann, also addPolygon etc, wollte ich wissen ob es dazu vllt ne alternative gibt, ansonsten müsste ich ne eigene contatinerklasse oder ähnliches schreiben.
Verfasst: 23. August 2010 19:51
von Christian81
Was soll denn dann mit dem QPainterPath passieren? Ich mein wenn ich ein QPainterPath (egal unter welchen OS) mit korrekten Werten fülle und es dan versuche darzustellen und es nicht geht ist es ein Qt bug.
Verfasst: 23. August 2010 20:57
von marvel
darauf wollte ich hinaus, es scheint ein qt bug zu sein der speziell unter windows mobile mit qt auftaucht. ich suche also eine alternative zu dem qpainterpath oder man müsste es selber implementieren bzw nachbauen. hat da vllt jmd eine idee ???
Verfasst: 23. August 2010 21:02
von Christian81
Schonmal was vom qt-bugtracker gehört? Die würden sich über ein kompilierbares minimalbeispiel freuen (wie wir ggf. auch fals jemand dein os hat)
Verfasst: 23. August 2010 21:09
von marvel
ich werde mich gerne darumkümmern und ein kleines beispiel kompilieren, jedoch denke ich das dieses problem nicht sofort gelöst werden wird. ich brauche also immer noch eine alternative dazu
Verfasst: 23. August 2010 21:14
von Christian81
Da Qt-intern wohl sowieso alles in floats gerechnet wird ... wirds wohl kaum was geben. Deshalb wundere ich mich auch dass da ein Bug sein soll.
Verfasst: 24. August 2010 10:52
von marvel
nun, ich benutze als minibeispiel die drawLine funktion vom qpainter. man kann als parameter int oder float angeben. beim int zeichnet er wie gewollt, beim float wird komplett falsch gezeichnet. aus diesem grund gehe ich mal davon aus das es ein bug ist. die werte die ich übergebe sind fast identisch, kann also nicht daran liegen das ich was falsch übergebe
Verfasst: 24. August 2010 11:39
von anno1988
du kannst den code ja mal posten. dann kann man auch mal sehen ob es wirklich ein bug im framework ist.
Verfasst: 27. August 2010 15:25
von marvel
frag mich bitte nicht wie und warum, aber ich hab nochmal die wince qt version neu kompiliert und jetzt nimmt er auch doublewerte an. danke an alle für die hilfe. kann also geclosed werden