Make a minimal example and find out 😉 It's basically always: Define a state. Then define a view method that returns a "gui"-block which declares the widgets you want in order. The "root"-gui block of the application itself needs to start with a Window widget (theres Window and AdwWindow if you want to use libadwaita)