for(i=0; i<height; i++)
{
for(j=0; j<width; j++)
{
button[i][j] = new QPushButton("Empty", this);
button[i][j]->resize(40, 40);
button[i][j]->move(40*j, 40*i);
connect(button[i][j], SIGNAL(clicked()), this, SLOT(changeText(button[i][j])));
}
}
Si j'ai changé changeText fonction avec la fonction (fullScreen par exemple), il travaille mais quand j'utilise une fente définie par moi (changeText) cette erreur apparaît et je ne sais pas comment résoudre ilNo such bouton fente QT
QObject::connect: No such slot buttons::changeText(&button[i][j])
et ceci est la fonction changeText:
void buttons::changeText(QPushButton* button)
{
button->setText("Fish");
}
REMARQUE: dans le fichier d'en-tête i définie la fente comme ceci:
boutons de classe: QWidget publique
Q_OBJECT
public slots:
void changeText(QPushButton* button);
bouton [i] [j] = nouveau QPushButton ("vide", ceci); QPushButton * btn = bouton [i] [j]; btn-> redimensionner (40, 40); btn-> déplacer (40 * j, 40 * i); Connect (bouton [i] [j], SIGNAL (cliqué sur)), ceci, SLOT (changeText (btn))); essayez cela. – adderly
@adderly: essayez d'appeler une fonction qui n'accepte aucun paramètre avec un paramètre ... cela ne marchera pas; donc 'SLOT (changeText (btn))' ne peut pas fonctionner – Zaiborg