我需要向我的C++类发送引用QPlainTextEdit
Analizador
以便为类中的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");