Создание GroupBox с помощью _createChildControlImpl()

Я попытался создать групповое поле с _createChildControlImpl()-Метод, но макет выглядит как дерьмо, как вы можете видеть ее http://tinyurl.com/odzgy3v

Но когда я реализую это без _createChildControlImpl() это работает отлично: http://tinyurl.com/kwzvdm2

Кто-нибудь может сказать, пожалуйста, в чем причина этого? Заранее спасибо!

3 ответа

Решение

Взгляните на консоль вашего браузера - подсказка уже есть.

Когда вы вводите дочерние элементы управления, qooxdoo не может повторно использовать прежний внешний вид виджетов по умолчанию, поскольку идентификатор внешнего вида изменился (с "groupbox" в "widget/groupBox"). Таким образом, вы должны добавить свою собственную тему внешнего вида (которую можно просто переслать, используя псевдоним):

   qx.Theme.define("test.myAwesomeTheme", {
     extend : playground.theme.Appearance,
     appearances :
     {
       "widget/groupBox" : "groupbox",
     }
   });
   qx.theme.manager.Appearance.getInstance().setTheme(test.myAwesomeTheme);

Я расширяю playground.theme.Appearance здесь, который распространяется qx.theme.indigo.Appearance который снова расширяется qx.theme.simple.Appearance, И у них есть определение groubox, которое мы пересылаем.

Вот полный образец игровой площадки.

Предполагается, что вы реализуете _createChildControl, но не вызываете его напрямую. Вместо этого вызовите getChildControl в своем конструкторе и позвольте ему вызывать _createChildControl, если это необходимо, поскольку он также кэширует результат.

Кажется, что GroupBox плохо подходит для того, что вы хотите, - кажется, он предполагает, что элементы одинакового размера и формы находятся внутри своего подвиджета фрейма, когда заполнены из реализации _createChildControl(),

Вместо этого используйте другой Composite() внутри основного контейнера, добавьте "Registration" как еще один дочерний элемент управления меткой типа в качестве первого дочернего элемента пользовательского виджета, и все будет выглядеть намного лучше (хотя и не идентично).

Быстрое и небрежное подтверждение концепции: http://tinyurl.com/m7ykhta

Другие вопросы по тегам