It is possible to create widgets on stack or on heap, but U++ developers encourage to use stack because C++ take care of allocated memory, so you won't have to think about allocations/deallocation problems. There are only few times when you need to allocate on heap, you may had encounter that in U++ GUI Tutorial, point 6 - "Multiple main windows". I think it's better to use every feature from the language (let compiler take care of your memory) and don't complicate you're self with new/delete. Use pointers only to point to things.