解决了, 给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顶部