Mon application est très simple, j'ai deux boutons, le premier bouton son texte +
, et le second son texte -
.
Ensuite, je veux quand cliquez sur l'un des boutons, je reçois le texte du bouton que j'ai cliqué.Obtenez le texte du bouton lorsque vous cliquez sur l'un des boutons
Et ce qui suit est la méthode qui a appelé lorsque vous cliquez sur l'un des boutons.
void Widget::btns_clicked()
{
QPushButton *btn = dynamic_cast<QPushButton*>(sender());
char _operator = btn->text();
switch(_operator){
case '+':
QMessageBox::information(this, "Status", "You have clicked on (+)");
break;
case '-':
QMessageBox::information(this, "Status", "You have clicked on (-)");
break;
}
}
Mais apparaître le message d'erreur suivant:
cannot convert from 'QString' to 'char'
J'ai aussi une autre petite Renseignez-
est il y a une autre façon la plus simple de le faire: dynamic_cast<QPushButton*>(sender());
?
'char' est un caractère. 'text()' renvoie une chaîne. – chris
@chris: Merci, mais comment convertir. –
Eh bien, sans doute, vous voudrez vous assurer que la chaîne est un caractère et saisir le premier. – chris