C++, ajouter/supprimer des lignes dans un QTableWidget
Je suis de la création d'une application simple avec une table et une "Ajouter une ligne" bouton. À l'aide de Qt Creator j'ai pensé que je peux faire quelque chose comme ceci:
QObject::connect(ui->addRowButton, SIGNAL(clicked()),
ui->moneyTableWidget, SLOT(insertRow(1)));
Mais je ne peux pas. Je suis vraiment nouveau pour Qt et j'ai peut-être tort, mais pense que le problème est que insertRow n'est pas un SLOT méthode pour QTableWidget...
Comment puis-je atteindre la ligne d'insertion?
InformationsquelleAutor Segolas | 2011-02-07
Vous devez vous connecter pour publier un commentaire.
Insérer la ligne dans une méthode de la classe. Essayez cette
Et l' (partielle) de la mise en œuvre:
L'argument de la FENTE() macro est une signature de la méthode avec les types d'argument seulement. Il ne peut pas contenir de noms d'argument ou de réels arguments à passer à la fente. C'est pourquoi vous avez besoin d'un slot supplémentaire à effectuer, comme par nc3b de réponse. Ce que votre code est en train de faire est de connecter le signal à un slot avec un paramètre de type "1", ce qui est faux, pour deux raisons: vous n'avez pas de fente et de "1" n'est pas valide d'un nom de type, de toute façon.
Aussi, QTableWidget::setdata() est une fente, comme il est indiqué dans le public slots groupe dans les docs. Ainsi, vous pouvez connecter un signal à elle, mais le signal doit avoir un argument int pour les signatures de match.