2011-11-28 72 views
0

我想改变一些文字的颜色的在TR()函数

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

一个TR()function.I在想这将有可能改变字体颜色设置字体颜色? 。

回答

1

是的,整个HTML字符串将被提供翻译,包括标记。如果你想让翻译者弄乱HTML,你的方法就行了。通常是不希望翻译惹(也可能打破)HTML标记,一会又用这样的:

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

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

2

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

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

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

由于all.It似乎它去,因为继承QHeaderView和重新实现paint()方法是需要什么比我想象采取更多的工作。 – Gandalf