Seite 1 von 1
[Gelöst] QLabel oder QLCDNumber "biegen".
Verfasst: 27. Mai 2012 10:40
von 'Prest1ge.
Hallo Community.
Ist es denn möglich ein QLabel oder ein QLCDNumber zu "biegen"?
Also quasi so zu "Deformieren" das es in etwa so aussieht wie hier:
Sicher könnte man dazu eine Grafik mit QPixmap laden,
jedoch ist die Idee ein Datum "
um" eine Analoguhr zu "formen".
Da sich dieses ja aktualisieren soll geht das mit einer Grafik schlecht.
Re: QLabel oder QLCDNumber "biegen".
Verfasst: 27. Mai 2012 10:45
von franzf
Mit den Mitteln, die dir QLabel bietet, geht das nicht. So etwas musst du selber zeichnen. Entweder ein eigenes Widget+paintEvent, oder eben in ein QPixMap rendern und das anzeigen. Damit das regelmäßig aktualisiert wird, musst du halt mit einem QTimer arbeiten.
Re: QLabel oder QLCDNumber "biegen".
Verfasst: 27. Mai 2012 11:27
von 'Prest1ge.
Danke für deine Antwort franzf
Ich habe vergessen mit anzufügen, dass sich diese Analoguhr in der Größe auch ändern lässt.
Also müsste sich dazu eben auch die Transformation dieser Idee mit dem Datum ändern,
da sich ja bei änderung der Größe auch der Winkel bzw. der Grad der Uhr ändert.
Schade eigendlich, wäre bestimmt ein netter Effekt gewesen aber ich
werde das Datum dann wohl ohne ne transformation mit einbauen.

Re: QLabel oder QLCDNumber "biegen".
Verfasst: 30. Mai 2012 11:45
von Troll.Soft
Das geht mit Qt-Mitteln. Stichwort QSvgWidget Class Reference. Zieh Dir alles über SVG rein, was Qt bietet und Dein Problem ist gelöst.
tschüß
Troll.Soft
Re: QLabel oder QLCDNumber "biegen".
Verfasst: 31. Mai 2012 12:16
von 'Prest1ge.
Danke ihr beiden, ich habs inzwischen ganz gut mit einem QPainter gelöst.
Dieser kann nämlich wirklich (im wahrsten Sinne des Wortes) "zeichnen".
Ich lasse diesen also per drawText() einfach einen string aus dem Datum zeichnen,
und "forme" mir das Ergebnis per rotate() und translate() an die richtige Stelle.
Besten Dank nochmals,
und schöne Grüße.
