在Qt的工具栏上,我有几个QMenus(默认情况下所有QMenus都对齐)。我想让其中一个与右侧对齐,但我似乎无法找到正确的方法来做到这一点。有什么想法吗?
答案 0 :(得分:3)
QMotifStyle给了我答案。在该样式中,在菜单栏中添加分隔符后,后续菜单将添加到菜单的右侧。解决方案是使用write一个QStyle代理类,但重载一个方法:styleHint,在SH_DrawMenuBarSeparator上返回true(这就是QMotifStyle的作用)。
int MyStyle :: styleHint(StyleHint提示, const QStyleOption *选项, const QWidget *小部件, QStyleHintReturn * returnData)const
// Return true on menu bar separator so subsequent menu bars are
// drawn on the right side of the bar!
if ( hint == SH_DrawMenuBarSeparator)
return true;
else
return style->styleHint(hint, option, widget, returnData);