我正在尝试在Qt中创建一个包含菜单的程序。主类是从QWidget派生的,我知道我可以使用QMainWindow来使用menuBar()函数,但不能在QMainWindow中使用布局。我试图使用setMenuBar在窗口的布局中添加QMenuBar,但是它的显示效果不像使用menuBar(),并且我不知道如何使其成为下拉菜单。
最佳答案
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);
在上面的代码中,我使用了小部件布局的菜单栏。