首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

五个按钮布局排版的有关问题

2012-02-27 
五个按钮布局排版的问题?有时,显示5个[ ][ ][ ][ ][ ]有时,显示4个[ ][ ][ ][ ]有时,显示3个[ ][ ][ ]用布

五个按钮布局排版的问题?
有时,显示5个 [ ] [ ] [ ] [ ] [ ]
有时,显示4个 [ ] [ ] [ ] [ ]
有时,显示3个 [ ] [ ] [ ]

用布局来做,代码如后面的。发现一个问题,m_pbuttonsLayout->addStretch()这根弹簧始终无法事先淡出布局。

于是,等多次执行之后,五个按钮的前面,居然多出了一根弹簧,看起来最前面留有空白。


这如何改善?

C/C++ code
/** 函数介绍:按钮布局调整* 输入参数:enElementId,按钮类型* 输出参数:无* 返回值  :无*/void SMSUIMainDlg::adjustButtonsLayout(SMS_BUTTONBOX_TYPE enIndex){    qDebug ("%s: %s: Entered", __FILE__, __FUNCTION__);    if ((NULL!=m_pbuttonDelete)        && (NULL!=m_pbuttonAddCon)        && (NULL!=m_pbuttonForward)        && (NULL!=m_pbuttonReply)        && (NULL!=m_pbuttonNew)        && (NULL!=m_pbuttonsLayout)        )    {        //淡出布局        m_pbuttonDelete->setParent(NULL);        m_pbuttonAddCon->setParent(NULL);        m_pbuttonForward->setParent(NULL);        m_pbuttonReply->setParent(NULL);        m_pbuttonNew->setParent(NULL);        m_pbuttonsLayout->setSpacing(7);        m_pbuttonsLayout->setContentsMargins(0, 0, 0, 0);        switch (enIndex)        {        case SMS_BUTTON_INBOX:            //加入布局            m_pbuttonsLayout->addWidget(m_pbuttonDelete);            m_pbuttonsLayout->addWidget(m_pbuttonAddCon);            m_pbuttonsLayout->addWidget(m_pbuttonForward);            m_pbuttonsLayout->addWidget(m_pbuttonReply);            m_pbuttonsLayout->addWidget(m_pbuttonNew);            break;        case SMS_BUTTON_SENT:            //加入布局            m_pbuttonsLayout->addWidget(m_pbuttonDelete);            m_pbuttonsLayout->addStretch();            m_pbuttonsLayout->addWidget(m_pbuttonAddCon);            m_pbuttonsLayout->addWidget(m_pbuttonForward);            m_pbuttonsLayout->addWidget(m_pbuttonNew);            break;        case SMS_BUTTON_DRAFT:            //加入布局            m_pbuttonsLayout->addWidget(m_pbuttonDelete);            m_pbuttonsLayout->addStretch();            m_pbuttonsLayout->addWidget(m_pbuttonAddCon);            m_pbuttonsLayout->addWidget(m_pbuttonNew);            break;        default :            break;        }    }    qDebug ("%s: %s: Exit", __FILE__, __FUNCTION__);}


[解决办法]
布局何不自己用算法实现,就不用依赖弹簧了。

热点排行