Название: [РЕШЕНО] Разделитель в QMenuBar во всех стилях Отправлено: skandinavijos от Декабрь 15, 2012, 14:43 Во всех стилях кроме CDE и Motif игнорируется разделитель в строке меню. Как его добавить? Каюсь, по стилям не знаю ничего, кроме примитивных вещей через setStyleSheet. С ходу гугл не дал ничего.
Название: Re: Разделитель в QMenuBar во всех стилях Отправлено: porup от Декабрь 20, 2012, 10:14 За прорисовку разделителя (сепаратора) отвечает метод styleHint(QStyle::SH_DrawMenuBarSeparator, ...) соответствующего стиля. В стилях CDE и Motif этот метод возвращает 1, в остальных стилях - 0. Сам расчет расположения пунктов меню выполняется в QMenuBarPrivate::calcActionRects(). Поэтому необходимо либо наследоваться от нужного стиля и переопределить метод styleHint
Код , либо изменить исходник qcommonstyle.cpp. Название: Re: Разделитель в QMenuBar во всех стилях Отправлено: Авварон от Декабрь 20, 2012, 11:45 QProxyStyle
А еще на маке всё равно разделителя не будет. JFYI. Название: Re: Разделитель в QMenuBar во всех стилях Отправлено: GreatSnake от Декабрь 20, 2012, 11:52 Как workaround можно добавить QFrame( QFrame::HLine ) через QWidgetAction.
Название: Re: Разделитель в QMenuBar во всех стилях Отправлено: skandinavijos от Декабрь 20, 2012, 20:01 воспользовался наследованием. porup, спасибо
|