Qt 按钮QPushButton QLabel跟随文字长度变长

    我们经常自定义一些控件 比如按钮随文字改变长度,label自动适应长度. 可以通过计算该文字所占用像素来获取一个Rect.

比如在一个窗口里 布局了按钮 可以这样处理: 


void Cod_LoginWget::resizeEvent(QResizeEvent*)
{
    static bool initSize = true;
    if (initSize) //界面首次进入resizeEvent
    {
        QFontMetrics fmwelcome(m_pFeedbackBtn->font());
        int wid = fmwelcome.boundingRect(m_pFeedbackBtn->text()).width();
        m_pFeedbackBtn->setFixedWidth(wid);
        QFontMetrics fmnotice(m_pContinueEngBtn->font());
        wid = fmnotice.boundingRect(m_pContinueEngBtn->text()).width();
        m_pContinueEngBtn->setFixedWidth(wid);
        initSize = false;
    }
}

初始化控件长度,如果文字变化的时候再调用if里的这段代码端 按钮自动适应.

你可能感兴趣的:(Qt 按钮QPushButton QLabel跟随文字长度变长)