Bonjour tous le monde,
Est ce que possible d'effacer le contenu d'une case spécifique d'un QGridLayout ?
Merci de vos future réponses ! ;)
Version imprimable
Bonjour tous le monde,
Est ce que possible d'effacer le contenu d'une case spécifique d'un QGridLayout ?
Merci de vos future réponses ! ;)
Oui, tu vas chercher la case correspondante avec QLayoutItem * QGridLayout::itemAtPosition ( int row, int column ) const
qui retourne un QLayoutItem*. A partir du QLayoutItem*, tu peux appeler la fonction membre widget() qui retourne donc un pointeur vers le widget placé à (X, Y) de ton QGridLayout. :ccool:
Oui mais quand je fait sa, du moin quand j'essay :lol: (je suis un peu débutante dans Qt) sa me met cette erreur "QCoreApplication::postEvent: Unexpected null receiver"
Code:
1
2 QLayoutItem *item = grilleMenuAdd->itemAtPosition(2,0); item->widget()->deleteLater();
Si tu débutes, tu dois déjà savoir que les pointeurs, ça se teste avant de les utiliser.
Code:
1
2
3 QLayoutItem *item = grilleMenuAdd->itemAtPosition(2,0); if (item && item->widget()) // teste si les pointeurs sont != NULL item->widget()->deleteLater();
Sa marche ! :)
Merci de votre aide !