将引用 qplaintextEdit 发送到构造函数类C++



我需要向我的C++类发送引用QPlainTextEditAnalizador以便为类中的QPlainTextEdit添加行。我将包含<QPlainTextEdit>添加到类中,从图形界面创建QPlainTextEdit并像那样调用构造函数

Analizador *anal=new Analizador(ui->textProgres);

构造函数为:

Analizador(QPlainTextEdit* text);

编译器抛出错误:

主窗口.cpp:23:错误:未定义对 'Analizador::Analizador(QPlainTextEdit*)'

所以我想错误是因为我没有发送指向构造函数的指针,但我不知道如何访问QPlainTextEdit的指针

附言。我是Qt和C++的新手

在这种情况下,编译器抱怨它在尝试链接应用程序时找不到Analizador构造函数的定义。

确保已编写构造函数Analizador::Analizador(QPlainTextEdit*)定义。

如果您已经编写了构造函数,但仍然遇到此问题,则构造函数所在的 cpp 文件可能尚未编译。如果您使用的是QtCreator,请尝试Build -> Run QMake,然后Build -> Rebuild All

您可以尝试此解决方法。

#ifndef ANALIZADOR_H
#define ANALIZADOR_H
#include <QPlainTextEdit>
class Analizador
{
public:
Analizador(QPlainTextEdit *text)
{
plainTextEdit = text;
}
void addLines(QString line)
{
plainTextEdit->appendPlainText(line);
}
private:
QPlainTextEdit *plainTextEdit;
};
#endif // ANALIZADOR_H

并像这样使用此类。

analizador = new Analizador(ui->plainTextEdit);
analizador->addLines("Hello");
analizador->addLines("World");

最新更新