Qt creator添加菜单栏编译没有报错,但是程序窗口中不显示已经建立的菜单栏

Qt creator添加菜单栏编译没有报错,但是程序窗口中不显示已经建立的菜单栏,尝试了不同的办法,想知道如果是编译器版本的问题的话应该如何配置,如果是代码的问题应该怎么改?

//mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

using namespace std;

void CreatMenu();

storage::storage(QWidget *parent) : QMainWindow(parent)
{
    setWindowTitle("StoM-yiban");//设置窗口标题
    this->resize(QSize(1800,900));//设置窗口大小
}

void storage::CreatMenu()
{
    QMenuBar* pMenuBar = ui->menubar;

    QMenu *fileMenu = new QMenu("文件");//添加文件菜单项
    QAction *pActionFile = new QAction("submenu");
    fileMenu->addAction(pActionFile);
    pMenuBar->addMenu(fileMenu);

    QMenu *editMenu = new QMenu("文件");//添加编辑菜单项
    QAction *pActionEdit = new QAction("submenu");
    fileMenu->addAction(pActionEdit);
    pMenuBar->addMenu(editMenu);

    QMenu *checkMenu = new QMenu("文件");//添加检查菜单项
    QAction *pActionCheck = new QAction("submenu");
    fileMenu->addAction(pActionCheck);
    pMenuBar->addMenu(checkMenu);

    QMenu *helpMenu = new QMenu("文件");//添加帮助菜单项
    QAction *pActionHelp = new QAction("submenu");
    fileMenu->addAction(pActionHelp);
    pMenuBar->addMenu(helpMenu);
}

storage::~storage()
{

}
//main.cpp
#include "mainwindow.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    storage w;
    w.show();
    return a.exec();
}
//mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QMenuBar>
#include <QMenu>
#include <QWidget>
#include <QAction>

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }

QT_END_NAMESPACE

class storage : public QMainWindow
{
    Q_OBJECT

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

private:
    void CreatMenu();
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

img

img