0 votes

Changer le nom d'un Widget en fonction d'une chaîne lue dans un formulaire XML en Qt

J'écris un code pour une machine à voter qui permettra à l'utilisateur de lire des bulletins XML personnalisés et de voter dessus. Cependant, dans la version actuelle de QtCreator, je ne vois pas de moyen facile d'éditer directement les boutons dans mon interface graphique. Dans l'extrait de code ci-dessous, j'assigne un élément pour extraire les noms et le type de bulletin lu, mais j'ai besoin d'ajouter une étiquette sur l'interface graphique ainsi que de changer les boutons pour les noms des candidats lus. Avez-vous des idées sur la façon de procéder ?

 while(!n.isNull()){
    QDomNode x = n.firstChildElement();
    QDomElement e = n.toElement();
    QMessageBox::information(0,
            tr( "Loading Element" ),
            tr( "Our element is %1" ).arg(e.tagName()) );
            QDomElement p = x.firstChildElement();//p finds Races
                 QMessageBox::information(0,tr("Foo"),tr("p = %1").arg(p.text()));//finds Race and Ballot types

            n = n.nextSibling();
}

}

1voto

Gnurou Points 1759

Tous les widgets que vous avez créés à l'aide du Designer UI sont disponibles dans votre code. La façon d'y accéder dépend de la manière dont vous avez lié votre interface utilisateur au reste de vos classes (cf. http://doc.qt.nokia.com/4.6/designer-using-a-ui-file.html ) mais si vous avez utilisé l'approche de l'héritage multiple, vos widgets et vos layouts seront accessibles directement depuis votre classe en utilisant le nom sous lequel ils apparaissent dans le Designer. La complétion de Qt Creator fonctionnera même avec eux.

En gardant cela à l'esprit, vous pouvez facilement utiliser les méthodes habituelles pour modifier le nom d'un widget, ajouter une étiquette à une mise en page, etc.

Si cela n'est toujours pas clair, veuillez ajouter le code que vous utilisez pour intégrer votre interface graphique, car il est nécessaire pour vous donner un exemple de code judicieux.

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