Slate layout
The clean way to do custom arrangement would be to implement a custom widget based on SPanel and then override OnArrangeChildren to arrange your child slots however you'd like.
SBoxPanel provides a simple example of setting up slots and arranging them
Reference From https://answers.unrealengine.com/questions/203320/slate-advanced-layout.html