【发布时间】:2019-01-07 15:53:36
【问题描述】:
我创建了一个类 datafunctions,我想在其中存储更新主窗口中的 UI 小部件的每个函数。所以我试图将 ui 作为参数传递给函数。假设我想更改作为主窗口一部分的 textEdit_data 小部件的文本。将ui作为参数传递到类dataFunctions中的函数formatandInsert后,我无法访问主窗口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);
}
【问题讨论】:
-
不清楚您所说的“我仍然无法访问 ui”是什么意思。似乎你得到的东西比你预期的要多。没有描述您所期望的和您得到的。也看不到 formatandInsert 所做的任何事情。
-
@ÖöTiib 我更新了它
标签: c++ qt qt5 qt-creator