2012-02-10 18 views
5

Używam QPaintera do drawText na QPrinter; istnieje jednak problem. Mam nadzieję, że mogę narysować kolorowy tekst. Na przykład rysunek "Hello World", gdzie "H" jest zielony, "ello" jest żółty, "Świat" jest niebieski.
Na razie wywołuję drawText 3 razy i używam innego QPena do zmiany koloru. Ponadto muszę obliczyć pozycję, w której należy narysować 3 razy. W końcu nie mogłem wyrównać łańcucha w QRekcie, ponieważ nie rysuję pełnego zdania. Czy istnieje sposób na rozwiązanie go w prosty sposób? Każda wskazówka jest doceniana! Dzięki!qt narysuj kolorowy tekst

Odpowiedz

4

Możesz to zrobić, pisząc html bezpośrednio w swoim tekście, w tym w specyfikacji CSS dla koloru.

Html in widget text

CSS within the html użyć tagu html style aby uzyskać dostęp do tego.

Edycja: Aby uzyskać to na QPaintDevice, użyj QPainter::drawStaticText(). Działa tak jak drawText, ale domyślnie czyta tekst sformatowany. Aby go użyć, musisz #include <QStaticText>.

+0

Narysowałem coś na QPrinter, ponieważ chcę zrobić plik PDF. Czy QPainter może używać tekstu sformatowanego? – Arton

+0

@Anton Zobacz moją edycję, potwierdziłem, że działa to w moim własnym kodzie. –

+0

Działa dobrze. Wielkie dzięki!! – Arton