After you have modified the struct in your inventory, the struct in your widget would be outdated. You need to get set it again to the struct in the widget.
Structs are not linked. They are local copies of the same struct. You will need to update your local struct every time the original changes.
Note:
You are binding the event on every single slot widget. I’d say the quickest way is to bind it on your Backpack widget. Every time inventory updates, clear out the slot widgets and recreate them using the new info again. Like re-open Backpack. This works fine for small amount of slots.
