J'essaie de cacher tous les widgets dans la mise en page. Mais il semble que findChildren ne fonctionne pas pour la mise en page.Qt obtenir des enfants de la mise en page
Voici mon exemple de code:
QLayout * layout = widget -> findChild<QLayout *> (layoutName);
QList<QWidget *> list = layout -> findChildren<QWidget *>();
cout << list.size() << endl;
taille
est 0, mais à l'intérieur de cette disposition j'ai quelques widgets. Mais le même code fonctionne très bien si j'essaie d'obtenir des widgets du widget parent.
Comment puis-je les obtenir à partir d'une disposition appropriée?
Merci,
Le point clé est qu'une mise en page peut devenir un enfant d'un widget (parce qu'ils hérite de 'QObject'), mais un widget ne peut pas devenir un enfant d'une mise en page. Un widget doit avoir un autre widget en tant que parent, et 'QLayout' n'hérite pas de' QWidget'. Les mises en page enveloppent chaque élément qu'elles contiennent dans un ['QLayoutItem'] (http://doc.qt.io/qt-4.8/qlayoutitem.html#QLayoutItem), et un ensemble d'API différent est donc requis pour accéder à l'objet sous-jacent. – ekhumoro