我的应用程序很简单,我有两个按钮,第一个按钮其文本+
,第二个文本-
。
然后,我想要点击任何一个按钮时,我会收到我点击过的按钮的文本。获取按钮的文字时,点击任何一个按钮
而下面是点击任何一个按钮时调用的方法。
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;
}
}
但出现以下错误信息:
cannot convert from 'QString' to 'char'
我也有另一个小打听
是有做任何其他简单的方法: dynamic_cast<QPushButton*>(sender());
?
'char'是一个字符。 'text()'返回一个字符串。 – chris
@chris:谢谢,但是如何转换。 –
好吧,大概你想确保字符串是一个字符并抓住第一个字符。 – chris