如何更改 SpTextPresenter 中的字体?
How to change the font in the SpTextPresenter?
Pharo 9,Spec 2 -- 我有一个带有 text
小部件的 Spec 2 演示器:
initializePresenters
text := self newText.
super initializePresenters
据我了解其类型是 SpTextPresenter
。这个text
的字体怎么改?此小部件中所有显示文本的字体、大小...例如,“Courier New”,9.
编辑 1:
我也试过:
text addStyle: { SpStyleSTONReader fromString:
'
Font {
#name: "Source Sans Pro",
#size: 12,
#bold: false,
#italic: true
}' }.
但是不行,错误是:Improper store into indexable object
.
编辑 2:
我也找到了this documentation。看来场景一定是:
- 读取样式为 STON
- 为所有应用程序在某处(哪里?)设置样式。它们在 STON 中以其名称进行描述,因此可以在应用程序中以其名称引用它们。
- 调用
addStyle: 'the-name'
,因此名称为 the-name
的小部件将从加载的 STON 中引用自己的样式。
问题出在 2 中。- 我没有申请,只有一位用 openWithSpec
打开的演示者。
直到现在我才注意到这一点。
规范“样式”不能直接添加到组件中,但它们需要成为样式表的一部分。
样式表在您的应用程序中定义(特别是在您的应用程序配置中)。
您可以查看 StPharoApplication>>resetConfiguration
、StPharoMorphicConfiguration>>styleSheet
和 StPharoMorphicConfiguration>>styleSheetCommon
作为示例(您还会在那里看到,使用 STON 声明您的样式只是一种方便的方式,而不是强制性的)。
此处是您将在此处找到的内容的简化版本:
StPharoApplication >> resetConfiguration
self useBackend: #Morphic with: StPharoMorphicConfiguration new
StPharoMorphicConfiguration >> styleSheet
^ SpStyle defaultStyleSheet, self styleSheetCommon
StPharoMorphicConfiguration >> styleSheetCommon
"Just an example on how to build styles programatically ;)"
^ SpStyleSTONReader fromString: '
.application [
.searchInputField [
Font { #size: 12 }
]
]
'
然后您可以将样式添加到您的组件中:
text addStyle: 'searchInputField'
Pharo 9,Spec 2 -- 我有一个带有 text
小部件的 Spec 2 演示器:
initializePresenters
text := self newText.
super initializePresenters
据我了解其类型是 SpTextPresenter
。这个text
的字体怎么改?此小部件中所有显示文本的字体、大小...例如,“Courier New”,9.
编辑 1:
我也试过:
text addStyle: { SpStyleSTONReader fromString:
'
Font {
#name: "Source Sans Pro",
#size: 12,
#bold: false,
#italic: true
}' }.
但是不行,错误是:Improper store into indexable object
.
编辑 2:
我也找到了this documentation。看来场景一定是:
- 读取样式为 STON
- 为所有应用程序在某处(哪里?)设置样式。它们在 STON 中以其名称进行描述,因此可以在应用程序中以其名称引用它们。
- 调用
addStyle: 'the-name'
,因此名称为the-name
的小部件将从加载的 STON 中引用自己的样式。
问题出在 2 中。- 我没有申请,只有一位用 openWithSpec
打开的演示者。
直到现在我才注意到这一点。
规范“样式”不能直接添加到组件中,但它们需要成为样式表的一部分。
样式表在您的应用程序中定义(特别是在您的应用程序配置中)。
您可以查看 StPharoApplication>>resetConfiguration
、StPharoMorphicConfiguration>>styleSheet
和 StPharoMorphicConfiguration>>styleSheetCommon
作为示例(您还会在那里看到,使用 STON 声明您的样式只是一种方便的方式,而不是强制性的)。
此处是您将在此处找到的内容的简化版本:
StPharoApplication >> resetConfiguration
self useBackend: #Morphic with: StPharoMorphicConfiguration new
StPharoMorphicConfiguration >> styleSheet
^ SpStyle defaultStyleSheet, self styleSheetCommon
StPharoMorphicConfiguration >> styleSheetCommon
"Just an example on how to build styles programatically ;)"
^ SpStyleSTONReader fromString: '
.application [
.searchInputField [
Font { #size: 12 }
]
]
'
然后您可以将样式添加到您的组件中:
text addStyle: 'searchInputField'