1

我已经使用睡衣实现了一个菜单栏:

from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Composite import Composite
from pyjamas.ui.MenuBar import MenuBar

class Menubar(Composite):
    def __init__(self):
        Composite.__init__(self)

        menubar = MenuBar(vertical=False)
        menubar.addItem("Dashboard", "")
        menubar.addItem("FileInspect", "")

        self.initWidget(menubar)

RootPanel().add(Menubar())

但无论如何我已经尝试过,我无法获得菜单项“仪表板”和“文件检查”之间的边距/空间。热烈感谢您的建议。

4

2 回答 2

1

在 GWT 中,您可以在要分隔的任何一对菜单项之间添加 MenuItemSeparator。分隔符的宽度决定了项目之间的分隔。您可以设置分隔符的样式,使其看起来不可见。例如,

private MenuBar myMenuBar=new MenuBar(false); // false for horizontal menu bar
private MenuItemSeparator separator=new MenuItemSeparator();
private MenuItem item1;
private MenuItem item2;

myMenuBar.add(item1);
myMenuBar.add(separator);
myMenuBar.add(item2);

separator.setStyleName("separatorStyle");

在您的 CSS 中,您定义了 separatorStyle。例如,如果你想要一个 20px 的分隔...

.separatorStyle{
width: 20px;
padding: 0px;
margin: 0px;
border: none;
background: none;
}
于 2014-03-07T01:49:49.290 回答
1

好的,所以首先查看http://pyjs.org/api/上的 api 文档并查找菜单栏(Ctrl+F 觉得没问题),或者如果你很懒,那么你可以在这里看到它:http://pyjs。 org/api/pyjamas.ui.MenuBar.MenuBar-class.html

这在这种情况下没有帮助,因为没有 setSpacing() 方法或类似方法,但至少它肯定地告诉我们。

所以我想你必须通过css来做。查看展示示例:

睡衣/examples/showcase/src/public/Showcase.css

现在您会看到顶部有一个 gwt-MenuBar 类。所以你有两个选择;要么使用 MenuBar 小部件的 addStyleName() 方法,要么只编辑 CSS 中的现有样式。我可能会做后者。

希望有帮助!!如果确实如此,请不要忘记接受。

于 2011-04-17T20:16:07.630 回答