qx.ui.core.scroll.AbstractScrollArea 出现滚动条时子项缩小

qx.ui.core.scroll.AbstractScrollArea children shrinking when scrollbar appears

我正在通过扩展 qx.ui.core.scroll.AbstractScrollArea 创建自定义小部件。这是代码粗略

qx.Class.define("headers.HeadersList", {
  extend : qx.ui.core.scroll.AbstractScrollArea,
  include: [
    qx.ui.core.MRemoteChildrenHandling
  ],

  construct: function() {
    this.base(arguments);
    this.__container = this._createItemsContainer();
    this.getChildControl("pane").add(this.__container);
    },

  members: {
    __container: null,

    _createItemsContainer: function() {
      const layout = new qx.ui.layout.VBox(10);
      const container = new qx.ui.container.Composite(layout);
      container.setPaddingRight(3);
      return container;
    },

    getChildrenContainer: function() {
      return this.__container;
    }
  }
});

内容是动态添加的。问题是当滚动条出现时,内容的宽度正在缩小以为滚动条腾出空间。

我做了一个游乐场的小例子来说明我的意思 http:// tinyurl.com/yygunxya

如果按 "Add TextField" 按钮超过 4 次,将出现滚动条并且文本框会变窄。

文本框的宽度如何在滚动条可见或不可见的情况下保持不变?

如果您不希望文本字段适应可用 space,您必须 首先设置你想要的宽度,你必须禁止收缩:

const textField = new qx.ui.form.TextField(range.toString()).set({
   allowShrinkX: false,
   width: 300
});