1
我反對問這個貌似n00b的問題,但是我最近爲完成這項任務所做的努力都失敗了。這是我已經嘗試過的東西,都失敗了!難道我的OpenSuse 11.3默認設置甚至適用於我的Qt應用程序的系統範圍設置?如何在QTextEdit中設置自定義文字顏色?
//I have some QTextEdit created in QDesigner -- call it myQEdit
QString str = "some content i want to display"
//trial one:
QString my_html_template = "<html><head></head><body style=\"color:__color__;\">__content__</body></html>"
myQEdit->document()->setHtml(my_html_template.replace("__color__","#99ff00").replace("__content__",str));
失敗了,那我就......
//trial two:
myQEdit->setDocument(new QTextDocument(str,this));
myQEdit->document()->setDefaultStyleSheet(" body { color:#99ff00;}");
我甚至嘗試設置!important
CSS標誌的color
值i傳似:
但這種失敗呢!
myQEdit->document()->setDefaultStyleSheet(" body { color:#99ff00 !important;}");
所以我決定把我的QTextEdit
從設計師本身的顏色 - 通過設置QTextEdit
的原始HTML內容的選項,指定我的自定義顏色。雖然我沒有以編程方式更改內容,但使用了所需的顏色。但此刻我設置自定義的內容是這樣的:
myQEdit->setDocument(new QTextDocument(str));
我失去我會從QDesigner
設置在QTextEdit
顏色設置。那麼達成目標的正確方法是什麼?我知道這是可以做到某種方式......
最後: 使用提示從下面的接受的答案後,這裏是我是如何解決它:
myQEdit->setDocument(new QTextDocument(str,this));
QPalette pal;
pal.setColor(QPalette::Text, QColor::fromRgb(0,150,0));
myQEdit->setPalette(pal);
立即像魅力一樣工作!謝謝(反映你的問題) – nemesisfixx 2011-04-22 17:25:10