在QWidget派生的主类中添加菜单

Kan*_*ghu 1 c++ qt menu qwidget

我正在尝试在Qt中创建一个包含菜单的程序.主类派生自QWidget,我知道我可以使用QMainWindow来使用函数menuBar(),但我不能在QMainWindow中使用布局.我尝试使用setMenuBar在窗口的布局中添加QMenuBar,但它不像使用menuBar()那样显示,我不知道如何使它成为一个下拉菜单.

这是使用setMenuBar添加的菜单

这是用menuBar()添加的菜单

Dig*_*til 6

QVBoxLayout *boxLayout = new QVBoxLayout(this); // Main layout of widget

QMenuBar* menuBar = new QMenuBar();
QMenu *fileMenu = new QMenu("File");
menuBar->addMenu(fileMenu);
fileMenu->addAction("Save");
fileMenu->addAction("Exit");

this->layout()->setMenuBar(menuBar);
Run Code Online (Sandbox Code Playgroud)

在上面的代码我使用了小部件布局的菜单栏.