刷新部件

 

Class TitleBar

{

       Private:

       Theme *_theme;

       QLabel *_textLabel;

       QPushButton *_button;

       QString _text;

Public:

       void TitleBar::setText(QString text)

{

       _text = text;

      

}

void TitleBar::showEvent(QShowEvent *event)

{

       if(_button->isVisible())

       {

              _textLabel->setFixedWidth(this->width()-_button->width()-MARGIN*3);

       }

       else

       {

              _textLabel->setFixedWidth(this->width()-MARGIN*2);

       }

       _textLabel->setText(_textLabel->fontMetrics().elidedText(_text, Qt::ElideRight, _textLabel->width(), Qt::TextSingleLine));

}

};

_titleBar->setText(location->getTitle());

问题:_titleBar->setText(location->getTitle());后titleBar上面的字符没有显示。

原因:setText方法只是把字符串赋值给了TitleBar的成员变量_text。要想显示必须调用_textLabel的setText方法。

方法:触发titleBar的showevent事件。 Titlebar->hide()   Titlebar->show()

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值