J'ai n boutons initialement tous étiquetés «0». Ces étiquettes, ou valeurs, changeront en différents entiers lorsque le programme s'exécutera, par exemple à un moment donné: '7', '0', '2', ...Comment passer une valeur avec un signal cliqué à partir d'un Qt PushButton?
J'ai une fonction (ou fente) qui prend un int comme argument:
void do_stuff(int i);
je veux appeler do_stuff (x) lorsque x '' est pressée. C'est-à-dire: quand vous appuyez sur n'importe quel bouton, appelez do_stuff avec la valeur de ce bouton. Comment puis-je faire cela? Jusqu'à présent, j'ai quelque chose comme:
std::vector values; // keeps track of the button values
for (int i = 0; i < n; i++){
values.push_back(0);
QPushButton* button = new QPushButton("0");
layout->addWidget(button);
// next line is nonsense but gives an idea of what I want to do:
connect(button, SIGNAL(clicked()), SLOT(do_stuff(values[i])));
}
Voir dans à [QSignalMapper] (http://doc.qt.io/qt-5/qsignalmapper.html) classe. – crayzeewulf
C'est exactement ce que je voulais, merci! – Julien