我正在通过扩展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
如果按"添加文本字段"按钮超过 4 次,则会出现滚动条并且文本框变窄。
文本框宽度如何在滚动条可见或不可见的情况下保持不变?
如果您希望文本字段不调整到可用空间,则必须首先设置所需的宽度,您必须禁止收缩:
const textField = new qx.ui.form.TextField(range.toString()).set({
allowShrinkX: false,
width: 300
});