3 votes

Obtenir la liste de tous les QPushButton dans Qt

Je voudrais obtenir la liste de tous les QPushButton dans ma fenêtre principale. En fait, j'ai un QRadioButton, et lorsque je le décoche, je voudrais désactiver tous les QPushButton de ma fenêtre.

Comment puis-je faire cela ?

9voto

Adrian Maire Points 6604

Voici un exemple minimal :

#include 
#include 
#include 
#include 
#include 

int main( int argn, char **argc)
{
    QApplication app(argn, argc);

    // Création du contenu
    QWidget window;
    QPushButton ba(&window); ba.setObjectName("but1");
    QPushButton bb(&window);bb.setObjectName("but2");
    QLabel l(&window); l.setObjectName("label");
    QPushButton bc(&l);bc.setObjectName("but3");

    // Obtenir tous les boutons
    QList butts = window.findChildren();
    qDebug() << butts.size();

    for (const auto *but: butts) qDebug() << "   " << but->objectName();

   return 0;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X