QString strNodeName = “只对中文符合你作用”; 
//QString strNodeName = “only yuo only yuo only yuoonly yuo only yuo only yuo ”; 
const QString elidedIdNew = fm.elidedText(strNodeName,
                                                   Qt::ElideMiddle,
                                                  100);

发觉对英文一点也不起作用,起初以为宽度有问题,打印出宽度后发觉也正常,最后发觉,取像的

pixelSize()为0
 qreal nPix = painter->font().pixelSize();

        qDebug("nPix %d",  nPix);

解决方法调用前先设置自己要的字体大小:

 QFont font = painter->font();
        //TODO: change font size
        font.setPixelSize(9);
        painter->setFont(font);

问题解决

Logo

一站式 AI 云服务平台

更多推荐