【问题标题】:Qt: Adding a scrollbar automatically to the QGroupboxQt:自动向 QGroupbox 添加滚动条
【发布时间】:2017-09-25 07:49:22
【问题描述】:

我想在调整具有此组框的对话框窗口的大小(使其更小)时自动将滚动条添加到标签组框(使其更小),以便保持组框内容的相同视图并在该对话框时通过滚动来查看它很小。

QGroupBox* GroupBox = new QGroupBox;
QVBoxLayout *Layout = new QVBoxLayout;   
Layout->addWidget(Label1);
Layout->addWidget(Label2);
Layout->addWidget(Label3);
Layout->addWidget(Label4);
GroupBox ->setLayout(Layout);

我尝试了以下方法,但它不起作用。

QScrollArea* scrollArea = new QScrollArea(this);
scrollArea->setWidget(GroupBox);

【问题讨论】:

  • 您是否尝试直接在 QScrollArea 而不是 QGroupBox 上设置布局?

标签: c++ qt scrollbar qgroupbox


【解决方案1】:

我认为“scrollArea->setWidgetResizable(true);”成功了,不是双组框

【讨论】:

    【解决方案2】:

    我想分享我发现的问题的答案:答案是添加具有 2 个布局的 2 个组框,并将滚动区域作为小部件添加到第二个布局。 代码将是:

    QGroupBox* GroupBoxIn = new QGroupBox;
    QVBoxLayout *LayoutIn = new QVBoxLayout;  
    QGroupBox *GroupBoxOut = new QGroupBox;   
    QVBoxLayout *LayoutOut = new QVBoxLayout;  
    QScrollArea* scrollArea = new QScrollArea();
    
    LayoutIn ->addWidget(Label1);
    LayoutIn ->addWidget(Label2);
    LayoutIn ->addWidget(Label3);
    LayoutIn ->addWidget(Label4);
    
    GroupBoxIn ->setLayout(LayoutIn ); 
    scrollArea->setWidget(GroupBoxIn );  
    scrollArea->setWidgetResizable( true );  
    LayoutOut ->addWidget(scrollArea);      
    GroupBoxOut ->setLayout(LayoutOut ); 
    

    【讨论】:

      猜你喜欢
      • 2018-06-19
      • 2013-01-15
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多