如下图所示,要在QLabel的文字前面加上一个红色的*号,其实方法很多,这里提供一个个人认为比较简单的方法:
这个方法中实际上是有点投机取巧的成分在里面,实现代码如下所示:
lab->setText(QString("<font color = red>*</font>").append(tr("test label")));
直接将*用html的语法包裹起来即可,这里需要验证两个问题:①翻译是否会对星号有影响;②qss是否会对星号有影响。
针对抵押给问题,实验结果如下所示:
针对第二个问题,qss代码如下所示:
QLabel
{
background: yellow;
font-size:16px;
color:blue;
}
结果如下所示:
这里发现文字颜色变化了,但是并没有影响星号的颜色。
补充一种相对还是挺简单的方法:继承QLabel,然后在setText函数中加上红色的星号即可。