Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/153.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 没有匹配的函数来调用QLinEdit_C++_Qt - Fatal编程技术网

C++ 没有匹配的函数来调用QLinEdit

C++ 没有匹配的函数来调用QLinEdit,c++,qt,C++,Qt,我是qt新手。我正在做一个计算器,我做了一个函数来添加两个数字,但它给了我一些奇怪的错误。该函数首先从lineEdit将输入作为2个字符串,然后通过toInt函数将其转换为int,然后将其添加到标签bytext()。My function: void calculator::on_pushButton_clicked() { ui->ansLabel->setText("+"); ui->firstNo->text(string1); ui->

我是qt新手。我正在做一个计算器,我做了一个函数来添加两个数字,但它给了我一些奇怪的错误。该函数首先从
lineEdit
将输入作为2个
字符串
,然后通过
toInt
函数将其转换为
int
,然后将其添加到
标签
by
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);
}
错误:

    \Calculator\calculator.cpp:20: error: no matching function for call to 'QLineEdit::text(QString&)'
     ui->firstNo->text(string1);
\Calculator\calculator.cpp:25: error: invalid user-defined conversion from 'int' to 'const QString&' [-fpermissive]
     ui->ansLabel->setText(ans);
                              ^
\Calculator\calculator.cpp:25: error: invalid conversion from 'int' to 'const char*' [-fpermissive]
     ui->ansLabel->setText(ans);
                          ^

如何修复这些错误。我做错了什么?

编译器会准确地告诉您什么是错的。根据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));
}