Qt QPushButton QLabel 文字显示不全是设置成... 缩写的方式

第一种方式:

按钮:

int textWidth = button->fontMetrics().width(m_text);   //m_text 是一个全局变量,保存按钮文字的完整版本,text()函数取出来

                                                                                      //的是设置的加有"..."的

int buttonWidth = contantsRect().width();

QString tmpStr = m_text;

if(buttonWidth < textWidth)

{

       tmpStr = m_text.left(m_text.lenght() * buttonWidth / textWidth   - x)  + "...";      // 此处x是一个调整值,有时按钮会设置

                                                                                                                                      //边框和padding,

}

 

 

此处tmpStr 就是可以显示在按钮上的文字

 

 

第二种方式:

 

QString  tmpStr = button->fontMetrics().elidedText(m_text, Qt::elideRight, contentsRect().width(), Qt::TextShowMnemonic);

 

你可能感兴趣的:(qt)