void StrFitLabel(const QString strInput, QString &strOutput, int pixelsMaxWide)
{
QFont font("Arial", 11);
QFontMetrics fm(font);
int pixelsWide = fm.width(strInput);
if (pixelsWide > pixelsMaxWide){
QString strTmp;
strTmp = strInput;
while(pixelsWide > pixelsMaxWide){
strTmp = strTmp.left(strTmp.length() - 1);
pixelsWide = fm.width(strTmp);
}
strOutput = strTmp + "...";
}else{
strOutput = strInput;
}
}
这样就可以了,设计什么UI啊?
本来这个框子就这么大,但是要显示的东西确实长,你总要解决啊。