重新实现QToolBar的paintEvent(QPaintEvent* e)
class MyToolBar : public QToolBar
{
QObject
public : // constructor and destructor
public slots:
void setTip(const QString& strTip)
{
m_strTip = strTip ;
update();
}
protected:
void paintEvent(QPaintEvent* e); // reimplementing it
private:
QString m_strTip;
};
void MyToolBar::paintEvent(QPaintEvent* e)
{
QPainter painter(this);
qreal textWidth = fontMetrics().width(m_strTip);
qreal textHeight =fontMetrics().height();
qreal thisHeight= height();
qreal topSpace = (thisHeight-textHeight)/2;
QPointF textPot(width()-textWidth,topSpace+textHeight);
painter.drawText(textPot,m_strTip);
//
QToolBar::paintEvent(e);
}