Pharo Smalltalk UITheme 构建器标签

Pharo Smalltalk UITheme builder label

我正在使用 Smalltalk Pharo 4.0 版构建一个 GUI 应用程序。我正在使用以下 UITheme 构建器代码来创建标签,因为 Morphic TextMorphs/LabelMorphs 没有实现观察者模式以在它们的值通过程序逻辑发生变化时在 GUI 上动态更新它们:

UITheme builder
    newLabelFor: self
    getLabel: #labelValue
    getEnabled: nil

我需要更改上面标签的字体和文本颜色。我尝试使用以下和其他类似选项,但它对我不起作用:

newLabelGroup: labelsAndControls font: aFont labelColor: aColor

有什么办法可以实现吗?

您可以将消息 #color:#font: 发送到 #newLabelFor:getLabel:getEnabled 返回的对象。例如下面的代码创建了一个大红色文本:

(UITheme builder
    newLabelFor: 'Text'
    getLabel: #asString
    getEnabled: nil)
       color: Color red;
       font: (LogicalFont familyName: 'Source Sans Pro' pointSize: 30);
       openInWorld

根据您的图像和设置,这不适用于所有字体。