没有匹配函数来调用QLinEedit

时间:2014-02-11 11:44:51

标签: c++ qt

我是qt的新手。我正在制作一个计算器,我做了一个函数来添加2个数字,但它给了我一些奇怪的错误。该函数首先从strings获取输入2 lineEdit并将其int转换为toInt函数并添加它们然后将其放入label中{ {1}}:

text().My function

错误:

void calculator::on_pushButton_clicked()
{
    ui->ansLabel->setText("+");
    ui->firstNo->text(string1);
    ui->secondNo->text(string2);
    int firstno = string1.toInt();
    int secondno = string2.toInt();
    int ans = firstno + secondno;
    ui->ansLabel->setText(ans);
}

如何解决这些错误。我做错了什么?

1 个答案:

答案 0 :(得分:1)

编译器会告诉您究竟出了什么问题。根据Qt文档,QLineEdit::text()函数不接受任何参数,但返回一个值。同样,QLabel::setText()不接受整数作为参数,而是QString。因此,您需要编写如下函数:

void calculator::on_pushButton_clicked()
{
    ui->ansLabel->setText("+");
    QString string1 = ui->firstNo->text();
    QString string2 = ui->secondNo->text();
    int firstno = string1.toInt();
    int secondno = string2.toInt();
    int ans = firstno + secondno;
    ui->ansLabel->setText(QString::number(ans));
}