2012-02-10 117 views
5

我使用QPainter在QPrinter上繪製文本;但是,有一個問題。我希望我能繪製出豐富多彩的文字。例如,繪製「Hello World」,其中「H」是綠色,「ello」是黃色,「World」是藍色。
目前,我調用drawText 3次,並使用不同的QPen來改變顏色。而且,我必須計算3次抽獎的位置。最後,我無法對齊QRect中的字符串,因爲我沒有繪製完整的句子。有沒有辦法用簡單的方法解決它?任何提示表示讚賞!謝謝!qt繪製彩色文字

回答

4

你可以通過在你的文本字符串中寫入html來實現,包括CSS規範的顏色。

Html in widget text

CSS within the html使用HTML標籤style訪問此。

編輯:爲了得到這個在QPaintDevice,使用QPainter::drawStaticText()。它的工作原理與drawText類似,但默認情況下會讀取富文本。您需要#include <QStaticText>才能使用它。

+0

我在QPrinter上畫一些東西,因爲我想製作一個pdf文件。 QPainter可以使用富文本嗎? – Arton 2012-02-10 17:35:58

+0

@Anton看到我的編輯,我已經證實,這在我自己的代碼中起作用。 – 2012-02-10 18:05:21

+0

它工作正常。非常感謝!! – Arton 2012-02-11 02:10:00