在tr()函数中设置字体颜色

时间:2011-11-28 13:42:38

标签: qt qt4

我正在考虑改变tr()函数中某些文本的颜色。我在考虑

tableModel->setHeaderData(2, Qt::Horizontal, tr("<font color=red><i>Org. Name</i></font>"));

是否可以更改字体颜色?。

2 个答案:

答案 0 :(得分:2)

我认为提供HTML字符串不会改变文本的外观,即使它有效,也不是将内容与样式混合的最佳方法。您应该使用stylesheets并更改QTableView header view的颜色。

QString styleSheet = "QHeaderView::section {"
                        "color: red;"
                        "background-color: black; }";

tableView->horizontalHeader()->setStyleSheet(styleSheet);

答案 1 :(得分:1)

是的,整个HTML字符串将提供翻译,包括标记。如果您希望翻译人员弄乱HTML,您的方法就可以了。通常人们不希望翻译人员弄乱(并可能破坏)HTML标记,然后人们会使用这样的东西:

QString::fromLatin1("<font color=red><i>%1</i></font>").arg(tr("Org. Name"))

即。只标记翻译的实际文本,整个html字符串的instad。