Appel d'une fonction par un clic
Bonjour,
je débute juste sur Qt, et mon problème est très basique et trivial je pense et pourtant je n'y arrive pas
je lance un programme depuis Qt (un jeu de carte pour l'exemple, mais c'est juste pour l'exemple)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include <QApplication>
#include <QPushButton>
#include <QWidget>
#include <QProcess>
class fenetre
{
private slots:
void jouer();
};
void jouer();
int main(int argc, char *argv[])
{
//QFont maPolice("courier");
QApplication app(argc,argv);
QWidget fenetre;
fenetre.setGeometry(200,100,600,400);
fenetre.show();
QPushButton bouton("tu veux jouer aux cartes ?", &fenetre );
QObject::connect(&bouton, SIGNAL(clicked()),&app, SLOT(jouer()));
bouton.setText("Pimp mon bouton !");
bouton.setIcon(QIcon("smile.png"));
//bouton.setFont(maPolice);
bouton.setFont(QFont("Comic Sans MS",20));
bouton.setToolTip("Texte d'aide");
bouton.setGeometry(100,150,400,140);
bouton.show();
QPushButton quit("Quitter", &fenetre);
quit.setGeometry(450,300,100,40);
quit.setFont(QFont("Times",18,QFont::Bold));
QObject::connect(&quit, SIGNAL(clicked()),&app, SLOT(quit()));
//jouer();
quit.show();
return app.exec();
}
void jouer()
{
QProcess::execute("\"c:\\Program Files\\Microsoft Games\\FreeCell\\FreeCell.exe\"");
} |
apparemment cette ligne n'appelle pas ma fonction jouer :
Code:
QObject::connect(&bouton, SIGNAL(clicked()),&app, SLOT(jouer()));
qu'est ce que je n'ai pas compris ?
NB ma fonction jouer() fonctionne car si je l'appelle hors du bouton ca se lance (ligne mise en commentaire)
Merci de votre aide