UE5上でのウィジェット内の変数の編集に関して質問です。

現在ver5.1で作業を行っているのですが、ウィジェットブループリント内でsettextでうまく反映されません。バインド関数を作成し、キャラクターのBPをキャストし、そこから別の変数を読み込む形だと、リアルタイムで変更したいテキストに差し替わるのでそれで代用しております。

相違点をさがしてみると、
ver5.0やver4.27だですと添付の箇所がウィジェットでも目が開いたアイコンになっているのですが、ver5.1だと作ったばかりのtextboxやbuttonでもデフォルトが目が閉じているアイコンになる編集ができないようでした。
ver5.11でも同様に目が閉じているステータスではじまってしまいます。

これはバージョンの不具合なのでしょうか?
バージョン5.1でも修正できるのなら直したいものです。

素人質問で大変恐縮ですが、
もしお知恵をお借りできましたら、大変助かります。



失礼ですが、「何をしようとしたのか」が不明瞭なため確定しておきたいです

UE5.1の場合でもバインディングによるテキストの変更やSetTextによるテキストの書き換えは動作しています。
その上での確認ですが、Textを持つWidgetAをWidgetBから参照できないということでよろしいでしょうか?

1 Like

お返事遅くなりました!
ご丁寧にありがとうございます。

Textを持つWidgetAをWidgetBから参照できないということでよろしいでしょうか?

その通りです!
具体的にやろうとしているのは所持アイテム一覧をアイテム名で表示させるウィジェットの作成です。
アイテム名の横に選択中のアイテム画像と説明も並べたいので複数のウィジェットを使っています。

具体的には、
上でいうwidgetBにhorizonbox、verticalboxを配置し、verticalbox内にtextをもつwidgetAが任意のスロットの数だけ作られる形になっています。

アイテム取得時にwidgetAのtextにアイテム名を渡してwidgetB内のwidgetAにアイテム名を表示させたいのですが、set textでは受け取ったアイテム名が反映されない状況です。

おそらく作ろうとしているものを想像してのことですが
WidgetAがHorizontalBoxに画像、アイテム名や個数を入れた「行」を作り

WidgetBにあるVerticalBoxにAddして「列」にするということでいいと思いますが。


こんな感じになります。
image

また、生成後にVerticalBoxの中身に触る場合は以下の画像の方法で取得できます。
(Castしないと触れないので注意してください)

WidgetBにVerticalBoxを作り、その中にHorizontalBoxを入れて~とすると中のデータに触るために深く探らないといけないため行と列で別のWidgetにするのが良いと思われます。

この回答で解決すれば幸いですが、
参考画像や、こうしたいという図があるとより適切な回答ができるため検討してみてください。

1 Like

ご丁寧にありがとうございました!
アップデートによる仕様変更かと思ってのおたずねでしたが、もう少しキャストを工夫できればなんとかなりそうな未来が見えました!

次回質問させていただく際は、もう少し丁寧に質問させて頂ければと思います!

お優しいお言葉、ありがとうございました。

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.