Thanks for your input guys. After weighing my options I decided to go for dynamic recreation, it will occur rarely enough (startup and settings change, although it's possible someone will change settings multiple times during use it's still a relatively uncommon event) to not have a performance hit. I like the idea of subclassing QGrid but it's a fairly complex task and bit of an overkill in this specific case I think. Also, HBox/VBox idea is great but I would like to keep the ordering of cells in this case.
As I said, I'm still learning and I was unaware of this specific problem when I was starting so rearranging it out of a grid would mean a major UI overhaul, but I'll be careful with grids in the future. At least I'll learn how to rely on UI designer less now so it's all good :)