Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Best way to reuse forms(or ui design) in a project [SOLVED]
I am creating 10 different forms. All of them have a common header and footer. Header will have the same background image but different titles for different forms. Footer is also similar in concept. I would like to make the header and footer design only once and reuse them in all the forms. I should be able to set some properties like title from individual forms(or the associated implementation class). And if I make some design changes(like an extra label) later in header, it should be reflected on individual forms.
Also I would like to do all the ui design using QtCreator.
From my understanding so far, I can think of following possible solutions.
Inherit from a class implementing the common form design.
- I will not be able to use QtCreator for designing child forms.
Create a template with header & footer and use the template for creating forms.
- Any later change in header design will not be reflected on the forms
Create custom widgets for header and footer. Integrate with QtCreator and use in individual forms.
- Relatively complex and some extra overhead.
Since I am new to Qt, I am not sure which is the best way to go ahead or there are other options(Qt way!) available. Would any one help me on this? Any help would be appreciated.
tucnak last edited by
In my opinion, the best way - to create patterns and include it from all your forms.
Create QWidget class which will represent your header
Add it from your form. As example: ui->layout->addWidget(new Header());
Thanks for the quick response!
bq. 2. Add it from your form. As example: ui->layout->addWidget(new Header());
This is much better and easier(Qt way!)
tucnak last edited by
It's not Qt-way)) - it's logic way. In dev it called
ui templates(you can change one widget and other widgets will change their state).
David_Gil last edited by
I would bet on making a custom QWidget. The constructor could also accept a QString for the title.
Chapter 5 of 'C++ GUI Programming With Qt 4' is dedicated to custom widgets. A must-have book, anyway.
Thanks for the suggestions. I will go ahead with custom widget approach(with QtCreator plugin). Integration with QtCreator is very useful for me, as I will be doing lot of experiments with design.