SetAutoFont

SetAutoFont

void  SetAutoFont(QLabel *  pLabel)
{
    
int  w  =  pLabel -> width();
    QFont font 
=  pLabel -> font();
    
int  nFontMax  =   60 ;
    
int  nFontMin  =   12 ;
    
int  nNewWidth;
    QString strText 
=  pLabel -> text();
    
for  ( int  nFontSize = nFontMax;nFontSize >= nFontMin;nFontSize -= 2 )
    {
        font.setPointSize(nFontSize);
        QFontMetrics fm(font);
        nNewWidth 
=  fm.width(strText);
        
if  (nNewWidth  <  w) 
        {
            pLabel
-> setFont(font);
            
break ;
        }
    }
}

你可能感兴趣的:(SetAutoFont)