UE4 エディタ拡張・ボタンウィジェット(SButton)
ロジカルビートさんのこのページとエンジンのソースとにらめっこしていました。
・【UE4】エディタ拡張(ボタン編)
http://logicalbeat.jp/blog/805/
ボタンウィジェットを使うには「SButton」クラスを使います。
~省略
SNew(SVerticalBox)
+ SVerticalBox::Slot()
.AutoHeight()
[
SNew(SButton)
//.IsEnabled(false)
.Text(LOCTEXT("ButtonText", "SButton。押したら何かが起きる"))
.ButtonColorAndOpacity(FSlateColor(FLinearColor(1.0f, 1.0f, 0.0f, 1.0f)))
.ForegroundColor(FSlateColor(FLinearColor(1.0f, 0.0f, 1.0f, 1.0f)))
.ContentPadding(FMargin(16, 16, 16, 16))
.OnClicked_Raw(this, &FUtilityModule::OnClickedButton)
]
~省略
FReply FUtilityModule::OnClickedButton()
{
return FReply::Handled();
}
雑ですがこんな感じの記述になります。
結果はこんな感じに。

SButton の各プロパティの機能はこんな感じになります。
・Text
ボタンに表示される文字列です。FText 型で指定します。
・ButtonColorAndOpacity
ボタンの色です。
FSlateColor 型で指定します。
・ForegroundColor
表示する文字列の色です。
FSlateColor 型で指定します。
・ContentPadding
ボタンの文字列を表示するときのマージン(スペース領域)を指定します。
FMargin 型で上下左右を指定します。
・OnClicked
ボタンをクリックしたときの関数を指定します。
今回は自分自身を渡しているので Raw の名前の関数を使っています。
ボタンを無効にしたい場合は「IsEnable」のプロパティを使って下さい。
・IsEnabled
ボタンの有効無効を切り替えます。
bool 型で指定します。
だいたいこれぐらいのプロパティがあればやりたいことができるかなと。
他にも「Method」系のものがあるっぽいので、ここらへんはおいおいということで。
| UE4 | 14:15 | comments:0 | trackbacks:0 | TOP↑