当我使用滚动区域时,Qt菜单栏消失

当我使用滚动区域时,Qt菜单栏消失,qt,menubar,qscrollarea,qlayout,Qt,Menubar,Qscrollarea,Qlayout,我想实现一个垂直滚动条。我已经为此实现了布局(参见附件layouts.jpg),还实现了滚动区域(参见下面代码中的代码片段)。然而,当我运行时,窗口没有菜单栏。我错过了什么?我试图通过Qt设计器和代码添加菜单栏和子菜单,但窗口没有显示菜单栏 如果我使用滚动区域代码段,我可以使用滚动条,但看不到菜单栏。但是,如果我注释掉滚动区域片段,我可以看到菜单栏,但会丢失滚动条。我两个都需要。如何解决这个问题 代码如下:- 主窗口 #ifndef MAINWINDOW_H #define MAINWINDO

我想实现一个垂直滚动条。我已经为此实现了布局(参见附件layouts.jpg),还实现了滚动区域(参见下面代码中的代码片段)。然而,当我运行时,窗口没有菜单栏。我错过了什么?我试图通过Qt设计器和代码添加菜单栏和子菜单,但窗口没有显示菜单栏

如果我使用滚动区域代码段,我可以使用滚动条,但看不到菜单栏。但是,如果我注释掉滚动区域片段,我可以看到菜单栏,但会丢失滚动条。我两个都需要。如何解决这个问题

代码如下:- 主窗口

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QScrollArea>
namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;


};

#endif // MAINWINDOW_H
main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}
#包括“mainwindow.h”
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
主窗口w;
w、 show();
返回a.exec();
}

您可以尝试不使用
layout()->setMenuBar(menuBar())
?我认为这是不必要的。嗨,@PrisonMonkeys,当我通过设计器添加菜单栏并运行程序时,菜单栏不在那里。因此,我以编程方式添加了这一行,但这也没有帮助。
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    return a.exec();
}