Describing an interface in XML is easy enough,
and something zem can help with. Ideally a single xml file would be
used for each page, allowing inclusion by a single zem file, as
below:
<zem>
<include>page_one.xml</include>
<include>another_page.xml</include>
</zem>
These pages in turn, would describe widgets as below.
<label>
<width> 100 </width>
<height> 30 </height>
<text> Some sort of text
</text>
</label>
The example above would yield a single QLabel of 100 width, 30
height, and with the text "Some sort of text". If you like the
idea, rather than actually coding, feel free to download zem here.