Qt5从另一个类访问ui [重复]
Posted
技术标签:
【中文标题】Qt5从另一个类访问ui [重复]【英文标题】:Qt5 access the ui from another class [duplicate] 【发布时间】: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 我更新了它 【参考方案1】:您需要在您的datafunctions.cpp
文件中添加#include "ui_mainwindow.h"
。它是一个由 Qt Designer 自动生成的标头,它定义了 Ui::MainWindow
类。
【讨论】:
以上是关于Qt5从另一个类访问ui [重复]的主要内容,如果未能解决你的问题,请参考以下文章