Моя цель - создать виджет, который будет отображать информацию о таблице пользователей, поэтому в будущем я смогу включить этот виджет в макет главного окна.
Я создаю класс с именем UsersWidget
, унаследованный от QWidget
, иполучение ошибки в userswidget.h
файле:
userswidget.h:21:21: error: field has incomplete type 'Ui::UsersWidget'
userswidget.h:8:7: note: forward declaration of 'Ui::UsersWidget'
Код:
.pro файл
SOURCES += \
main.cpp \
mainwindow.cpp \
userswidget.cpp
HEADERS += \
init_db.h \
mainwindow.h \
userswidget.h
FORMS += \
mainwindow.ui \
userswidget.ui
userswidget.cpp
#include "userswidget.h"
UsersWidget::UsersWidget(QWidget *parent) : QWidget(parent)
{
ui->setupUi(this);
}
userswidget.h
#ifndef USERSWIDGET_H
#define USERSWIDGET_H
#include <QWidget>
#include "ui_userswidget.h" // ???
namespace Ui{
class UsersWidget;
}
class UsersWidget : public QWidget {
Q_OBJECT
public:
explicit UsersWidget(QWidget *parent = nullptr);
signals:
public slots:
private:
Ui::UsersWidget ui; // issue: field has incomplete type 'Ui::UsersWidget'
};
#endif // USERSWIDGET_H
На мой взгляд, это из-за автоматически сгенерированного файла "ui_userswidget.h", но я не могу понять это сам.