我使用睡衣实现了一个MenuBar:
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())
但无论如何我已经尝试过,我无法获得菜单项“Dashboard”和“FileInspect”之间的边距/空格。您的建议得到了热烈的赞赏。
答案 0 :(得分:1)
好的,首先查看http://pyjs.org/api/的api文档并查找菜单栏(Ctrl + F找到它)或者如果你很懒,那么你可以在这里看到它:http://pyjs.org/api/pyjamas.ui.MenuBar.MenuBar-class.html
在这种情况下,这没有用,因为没有setSpacing()方法或类似方法,但至少它告诉我们肯定。
所以我猜你必须通过css来做。查看展示示例:
pajamas / examples / showcase / src / public / Showcase.css
现在你会看到顶部有一个gwt-MenuBar类。所以你有两个选择;要么使用MenuBar小部件的addStyleName()方法,要么只编辑css中的现有样式。我可能会做后者。
希望有所帮助!!如果确实如此,请不要忘记接受。
答案 1 :(得分: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;
}