【问题标题】:QWidget within scrollarea滚动区域内的 QWidget
【发布时间】:2014-10-16 13:04:56
【问题描述】:

我有一个QWidget,我想将它包含在滚动区域中,这样当垂直方向超过指定的QWidget 大小时,用户可以上下滚动以查看更多内容。

QWidget renameWidget;
QScrollArea scrollarea.

我该怎么做呢?我在 UI 编辑器的滚动区域内设置了小部件,但它不起作用。

有什么想法吗? 谢谢。

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    QScrollArea 视为另一种布局。将滚动区域添加到您的主窗口小部件,并使用 setWidget() 将其他所有内容放入其中。

    QScrollAreaQWidget,因此您甚至可以将其用作顶级小部件:

    QScrollArea *scrollArea = new QScrollArea();
    scrollArea->resize(250, 250);
    
    QWidget *widget = new QWidget(scrollArea);
    widget->setBackgroundRole(QPalette::Dark);
    widget->resize(200, 200);
    
    scrollArea->setWidget(widget);
    scrollArea->show();
    

    【讨论】:

      【解决方案2】:

      QScrollArea 提供到另一个小部件的滚动视图。它用于在框架内显示子小部件的内容。如果小部件超过框架的大小,视图可以提供滚动条,以便查看子小部件的整个区域。

      一个例子:

      QScrollArea *scrollArea = new QScrollArea(this);
      scrollArea->setBackgroundRole(QPalette::Dark);
      scrollArea->setWidget(renameWidget);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多