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