C++ Qt C++;滚动时布局问题中的QMenuBar

C++ Qt C++;滚动时布局问题中的QMenuBar,c++,qt,qt4,C++,Qt,Qt4,我是Qt新手,在QWidgets中使用滚动条时遇到困难。 我在小部件中有一个布局,该布局包含一个QMenuBar。滚动区域与小部件关联。滚动可以正常工作,但当用户向下滚动菜单栏时,菜单栏将消失。有没有办法把菜单放在最上面 任何帮助都将不胜感激 谢谢 嗨@utdemir 谢谢你的快速回复。 下面是代码的要点,以及您对使用QMainWindow的建议。它产生了同样的结果 MyWidget::MyWidget(QMainWindow *parent) : QMainWindow(parent) {

我是Qt新手,在QWidgets中使用滚动条时遇到困难。 我在小部件中有一个布局,该布局包含一个QMenuBar。滚动区域与小部件关联。滚动可以正常工作,但当用户向下滚动菜单栏时,菜单栏将消失。有没有办法把菜单放在最上面

任何帮助都将不胜感激

谢谢

嗨@utdemir

谢谢你的快速回复。 下面是代码的要点,以及您对使用QMainWindow的建议。它产生了同样的结果

MyWidget::MyWidget(QMainWindow *parent)
: QMainWindow(parent)
{
    main = new QWidget;       //Widget that contains the layout
    CreateMenu();
    scrollArea  = new QScrollArea;
    layout = new QVBoxLayout();

    //layout->setMenuBar(menuBar);
    this->setMenuBar(menuBar);
    this->resize(500,500);
    main->setLayout(layout);
    this->setCentralWidget(main);
    scrollArea->setWidget(this);
    scrollArea->setWidgetResizable(true);

    scrollArea->show();

    this->show();
}

找到了问题的解决办法。
创建了一个包含菜单栏的QMainWindow。添加了一个包含布局的QWidget。滚动区域与QWidget关联。主窗口的中心窗口小部件设置为滚动区域

main->setLayout(layout);
this->setCentralWidget(scrollArea);
scrollArea->setWidget(main);
scrollArea->setWidgetResizable(true);
scrollArea->show();
this->show();

感谢您的帮助@utdemir

您能给我们一个示例代码吗?如果您希望每个小部件有一个菜单栏,您可以在gui中使用QMainWindow并使用.setMenuBar方法widget@utdemir代码的片段已发布。QMainWindow产生了相同的结果。你有什么建议吗?Thanks@user844778对不起,我不太了解C++,但是我想ScReloSt.StWistGET(这个)可以是ScReleSave.StWistWuGET(main)。但我真的不知道。@utdemir我也试过了,但是scrollArea->show()创建了一个包含主窗口小部件的新窗口。因此它最终是一个包含菜单栏的QMainWindow窗口和一个包含滚动区域的单独窗口,滚动区域包含布局。