解决了, 给qtoolbar加了一个layout,
 // set tool bar icon and text in the center
    m_MainToolBar.setIconSize(QSize(16, 16));
    QFrame *frame = new QFrame(this);
    QHBoxLayout *layout = new QHBoxLayout(frame);
    QSpacerItem *spacingItem = new QSpacerItem(24, 24, QSizePolicy::Expanding, QSizePolicy::Minimum);
    layout->addSpacerItem(spacingItem);
    m_MainToolBar.addWidget(frame);
    frame->hide();
本来的iconsize是16*16, 加了一个24*24的QSpacerItem 这样就空出8个像素,icon就不会顶在toolbar顶部