Ce que j'essaie de faire, c'est qu'un widget puisse exister dans deux mises en page différentes, dans ce cas dans QHBoxLayout et dans QVBoxLayout. J'implémente un système qui permute dynamiquement entre les deux configurations lorsque l'orientation de l'écran d'un périphérique change.Qt: Même widget à l'intérieur de deux mises en page différentes
Actuellement je crée, disons un widget composite complexe appelé MyWidget et en ajoutant dans un deux configurations différentes:
MyWidget *wgt = new QWidget();
QVBoxLayout vlayout;
QHBoxLayout hlayout;
vlayout->addWidget(wgt);
hlayout->addWidget(wgt);
Maintenant, imaginez que les deux mises en page sont hébergés dans une mise en page « racine », et que cette disposition racine peut être redimensionnée dans un mode «paysage» plus large que haut, et dans un mode «portrait» plus grand que large. Le MyWidget s'affiche correctement uniquement dans la première mise en page dans laquelle il est ajouté, et lorsque les mises en page sont commutés, il affiche tout faux ou pas du tout.
Je ne sais pas si j'ai un sens ici, mais c'est mon problème. Peut-être que lorsque l'événement switch est appelé, tous les widgets enfants et les mises en page doivent être redimensionnés, donc cela semble toujours correct. Le seul problème est que je ne sais pas comment.
question connexe: http://stackoverflow.com/questions/2990283/qt-change-qwidget-layout – rubenvb