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

时间:2011-07-19 21:17:49

标签: c++ qt qt4

我是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();
}

1 个答案:

答案 0 :(得分:0)

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

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

感谢您的帮助@utdemir