我创建了一个类datafunctions,我想在其中存储用于更新主窗口中的UI小部件的每个函数。所以我试图将ui作为参数传递给函数。假设我想更改属于主窗口的textEdit_data小部件的文本。将ui作为参数传递给类dataFunctions中的function formatandInsert函数后,我无法访问mainwindow ui的任何小部件。以下代码给我错误“成员访问不完整类型'Ui :: MainWindow'”
void dataFunctions::formatandInsert(Ui::MainWindow *ui){
ui->textEdit_data->setText("");
}
那是我的datafunctions.h文件
#ifndef DATAFUNCTIONS_H
#define DATAFUNCTIONS_H
#include "mainwindow.h"
#include <QTextEdit>
class dataFunctions
{
public:
dataFunctions();
void formatandInsert(Ui::MainWindow*);
};
#endif // DATAFUNCTIONS_H
我在主窗口的构造函数中这样调用函数formatandInsert:
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
dataFunctions df;
df.formatandInsert(ui);
}
答案 0 :(得分:1)
您需要在#include "ui_mainwindow.h"
文件中datafunctions.cpp
。这是一个由Qt Designer自动生成的标头,它定义了Ui::MainWindow
类。