如何将QMenu设置为与工具栏右侧对齐?

时间:2009-10-15 23:35:40

标签: user-interface qt

在Qt的工具栏上,我有几个QMenus(默认情况下所有QMenus都对齐)。我想让其中一个与右侧对齐,但我似乎无法找到正确的方法来做到这一点。有什么想法吗?

1 个答案:

答案 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);