1
在我的Qt工具栏中,我有几个QMenus(默认情况下它们都向左对齐)。我想让其中一个对齐到右侧,但我似乎无法找到正确的方法来执行此操作。有任何想法吗?如何设置QMenu以对齐到工具栏的右侧?
在我的Qt工具栏中,我有几个QMenus(默认情况下它们都向左对齐)。我想让其中一个对齐到右侧,但我似乎无法找到正确的方法来执行此操作。有任何想法吗?如何设置QMenu以对齐到工具栏的右侧?
QMotifStyle给了我答案。在该样式中,在菜单栏中添加分隔符后,后续菜单将添加到菜单的右侧。解决方法是使用写一个QStyle代理类,但重载一个方法:styleHint,以在SH_DrawMenuBarSeparator(这是QMotifStyle所做的)返回true。
INT myStyle的:: styleHint(StyleHint提示, 常量QStyleOption *选项, 常量QWidget的*小部件, QStyleHintReturn * returnData)常量
// 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);