我正在考虑改变tr()函数中某些文本的颜色。我在考虑
tableModel->setHeaderData(2, Qt::Horizontal, tr("<font color=red><i>Org. Name</i></font>"));
是否可以更改字体颜色?。
答案 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。