Aide QT : debuter avec petit code

katanaenmousse Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Elminster -
Bonjour,
Bon, j ai bossé mon C++, les variables, les classes, les fonctions, les fonctions membres, ...

Je voudrais maintenant m'attaquer a QT pour cela je cherche a étudier un code simple avec des slots et signals et aussi avec une EditLine.

Est ce que quelqu'un aurait un petit bout de code qui ferai la tache suivante afin que je l etudie ?

Ouvrir une fenetre (pas un dialog ca j vois)
mettre dans cette fenetre un PushButton et un EditLine.
Quand on apuie sur le bouton ecrire un truc dans le editline.

Cela m aiderai beaucoup, je commence toujours par etudier ce type d exemple pour apprendre un nouveau langage:p

Merci
A voir également:

1 réponse

Elminster
 
bonjour katanaenmousse

je viens de me plonger dans Qt aujourd'hui même et j'ai aussi eu ce probleme
je n'ai pas trouvé dans Qt Designer la possibilité de le faire donc j'ai fait moi même mon petit bout de code:

l'astuce est de declarer une nouvelle classe en tant que sous classe de QPushButton et de "capter" l'evenement du clic souris

pour ma part cela donne quelquechose comme ça:

class BoutonSaisie : public QPushButton{
protected:
QLineEdit* zoneAffichage;//pointeur vers la zone de saisie ou on voudra afficher le texte
public:
BoutonSaisie(QString nom,QWidget* parent,QLineEdit* sortie):QPushButton(nom,parent){
zoneAffichage=sortie;
}
void mousePressEvent(QMouseEvent *event){//on capte le clic de souris
if(zoneAffichage!=NULL)//on sait jamais....
zoneAffichage->setText( "Le Texte que je veux afficher" );
}
};


et au niveau du main:

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QWidget* Form=new QWidget();
Form->resize(250, 150);
QLineEdit* saisie=new QLineEdit("zone de saisie",Form);
saisie->setGeometry(QRect(10, 10, 150, 20));
BoutonSaisie* monBouton=new BoutonSaisie("cliquez ici",Form,saisie);
monBouton->setGeometry(QRect(10, 40, 60, 30));

Form->show();
return app.exec();
}

apres on peut aussi faire ça en allant recuperer le texte dans un autre zone de saisie,etc....
0