не отображаются или не создаются объекты созданные мною в классе

Суть заключается в том что у меня есть класс Map в котором я создаю label с изображением, но когда я пытаюсь создать его в заголовочном файле MainWindow он их не отображает хотя конструктор класса Map запускается

    class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
    void paintEvent(QPaintEvent *event) override;
    void mousePressEvent(QMouseEvent *event) override;
    Map map;
signals:
    void windowChanged(int width, int height);
};


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow),  map(this)
{
    ui->setupUi(this);
    this->resize(1000,800);
    this->setWindowTitle("Quoridor");
    this->setWindowIcon(QIcon(":/img/C:/Users/Артем/Desktop/Quoridor/dice.ico"));
    this->setStyleSheet("background: rgb(209, 209, 209);");
    //Map map1(this);
}

Но если я создаю экземпляр класса в самом конструкторе (см закомментированный код), то все работает как надо


Ответы (1 шт):

Автор решения: Illya boyko

Тогда в конструкторе напиши map.setParent(this), если хочешь оставить его объявление в заголовочном файле.

→ Ссылка