提示:QString显示不全时,处理省略
处理QString省略
/*****************************************
*字符串省略号处理函数,功能将字体为font的字符串
- 处理为当长度大于maxwidth时,大于部分显示为…
*****************************************/
//调用函数,参数一为label的字体,参数二为要进行省略号处理的字符串,参数三为宽度, 参数四为显示左省略,右省略号,中间省略号
QString getElidedText(QFont font, QString str, int MaxWidth, Qt::TextElideMode elideMode)
{
QFontMetrics fontWidth(font);
int width = fontWidth.width(str); //计算字符串宽度
if(width >= MaxWidth) //当字符串宽度大于最大宽度时进行转换
{
switch (elideMode) {
case Qt::ElideLeft:
str = fontWidth.elidedText(str,Qt::ElideLeft,MaxWidth); //左部显示省略号
break;
case Qt::ElideRight:
str = fontWidth.elidedText(str,Qt::ElideRight,MaxWidth); //右部显示省略号
break;
case Qt::ElideMiddle:
str = fontWidth.elidedText(str,Qt::ElideMiddle,MaxWidth); //左部显示省略号
break;
default:
break;
}
}
return str; //返回处理后的字符串
}