2012-01-24 63 views
4

将某些自定义样式应用于未确认主题默认样式的单个窗口小部件元素的最便捷方式是什么?我仍然对装饰器的使用感到困惑。如何应用多个装饰器,例如。边框属性和背景到一个小部件元素。Qooxdoo:设计单个窗口小部件

我已经尝试使用自定义装饰器例如。 :


     var titleBar = new qx.ui.container.Composite(); 
     titleBar.set({ 
      decorator : qx.ui.decoration.MBackgroundImage, 
         style : { 
       backgroundImage : '/images/tbar.png' 
         } 
     }); 

但是我收到一个错误:在与进入的值 '[密新qx.ui.decoration.MBackgroundImage]' 方法setDecorator类qx.ui.container.Composite的属性装饰

错误:是无效的!

回答

2

你必须实例化一个适当的装饰器,而不是装饰器mixin之一。例如。你的情况是这样的应该工作:

var titleBar = new qx.ui.container.Composite(); 
    var myBackground = new qx.ui.decoration.Background(); 
    myBackground.setBackgroundImage("/images/tbar.png"); 
    titleBar.set({ 
     decorator : myBackground 
    }); 
2

当你定义一个“qx.Theme.define” docorations您应该只使用装修混入。

我认为定义自定义样式的更好方法是定义一个新的外观关键字,并将其用于您的构件。

 
    var titleBar = new qx.ui.container.Composite(); 
    titleBar.setAppearance("myApperanceKey"); 
相关问题