Javascript Qooxdoo:设置单个小部件的样式
对于不符合主题默认样式的单个小部件元素,最方便的方法是什么。我仍然对装饰师的用法感到困惑。如何将多个装饰器(如边框属性和背景)应用于小部件元素 我尝试过使用定制装饰器,例如:Javascript Qooxdoo:设置单个小部件的样式,javascript,qooxdoo,Javascript,Qooxdoo,对于不符合主题默认样式的单个小部件元素,最方便的方法是什么。我仍然对装饰师的用法感到困惑。如何将多个装饰器(如边框属性和背景)应用于小部件元素 我尝试过使用定制装饰器,例如: var titleBar = new qx.ui.container.Composite(); titleBar.set({ decorator : qx.ui.decoration.MBackgroundImage,
var titleBar = new qx.ui.container.Composite();
titleBar.set({
decorator : qx.ui.decoration.MBackgroundImage,
style : {
backgroundImage : '/images/tbar.png'
}
});
但我收到了一个错误:
传入值为“[Mixin qx.ui.decoration.MBackgroundImage]”的方法setDecorator中类qx.ui.container.Composite的属性装饰器出错:无效 您必须实例化一个合适的decorator,而不是其中一个decorator mixin。例如,在您的情况下,类似这样的方法应该有效:
var titleBar = new qx.ui.container.Composite();
var myBackground = new qx.ui.decoration.Background();
myBackground.setBackgroundImage("/images/tbar.png");
titleBar.set({
decorator : myBackground
});
只有在用“qx.Theme.define”定义文档时,才应该使用装饰混合 我认为定义自定义样式的更好方法是定义一个新的外观键,并将此键用于小部件 var titleBar = new qx.ui.container.Composite(); titleBar.setAppearance("myApperanceKey"); var titleBar=newqx.ui.container.Composite(); 标题栏设置外观(“我的外观”);