За прорисовку разделителя (сепаратора) отвечает метод styleHint(QStyle::SH_DrawMenuBarSeparator, ...) соответствующего стиля. В стилях CDE и Motif этот метод возвращает 1, в остальных стилях - 0. Сам расчет расположения пунктов меню выполняется в QMenuBarPrivate::calcActionRects(). Поэтому необходимо либо наследоваться от нужного стиля и переопределить метод styleHint
C++ (Qt)
class MyStyle : public QPlastiqueStyle
{
public:
int styleHint(StyleHint hint, const QStyleOption *opt, const QWidget *w, QStyleHintReturn *returnData) const {
return (hint == SH_DrawMenuBarSeparator) ? 1 : QPlastiqueStyle::styleHint(hint, opt, w, returnData);
}
};
, либо изменить исходник qcommonstyle.cpp.