【问题标题】:Qt QHBoxLayout issue?Qt QHBoxLayout 问题?
【发布时间】:2011-09-20 21:31:58
【问题描述】:

我在 QMainWindow 中使用扩展的 QGroupBox 作为 QDockWidget 的小部件。 这是代码sn-p:

RzPlaneViewerControlPanelWidget::RzPlaneViewerControlPanelWidget(QWidget *parent) : QGroupBox(parent) {
        // TODO Auto-generated constructor stub
        init();

    }

void RzPlaneViewerControlPanelWidget::init()
    {

            QHBoxLayout *hbox=new QHBoxLayout;
            hbox->setSizeConstraint(hbox->SetMinimumSize);
            hbox->setSpacing(0);
            hbox->setStretch(1,0);

            setMaximumHeight(50);

            QScrollBar *scrollbar=new QScrollBar;
            scrollbar->setOrientation(Qt::Horizontal);
            scrollbar->setMouseTracking(true);
            scrollbar->setFocusPolicy(Qt::StrongFocus);
            scrollbar->setMinimum(0);
            scrollbar->setSingleStep(1);



            QLineEdit *qlineedit = new QLineEdit;
            qlineedit->setMaximumWidth(60);
            qlineedit->setReadOnly(true);

            hbox->addWidget(scrollbar);
            hbox->addWidget(qlineedit);

            //hbox->addWidget(new )
            setLayout(hbox);

}

这是我将这个小部件添加到 QDockWidget 的方法:

RzPlaneViewerControlPanelWidget *controlPanel=new RzPlaneViewerControlPanelWidget ;
controlPanel->init();

QDockWidget controlPanelDockWidet=new QDockWidget;
controlPanelDockWidet->setAllowedAreas(Qt::BottomDockWidgetArea);
controlPanelDockWidet->setFeatures(QDockWidget::DockWidgetVerticalTitleBar);
controlPanelDockWidet->setWidget(controlPanel);

但是 ScrollBar 并没有像我预期的那样被拉伸 - 这是它的样子 -

这就是我想要的-

【问题讨论】:

    标签: c++ qt layout qt4


    【解决方案1】:

    通过快速阅读,我会尝试这样做:

    hbox->addWidget(scrollbar, 1);
    

    addWidget 的第二个(可选)参数是拉伸因子。来自Qt docs

    如果拉伸因子为 0,并且 QBoxLayout 中没有其他元素的拉伸因子大于零,则空间根据所涉及的每个小部件的 QWidget:sizePolicy() 分配。

    另外,请注意您的:

    hbox->setStretch(1,0);
    

    调用没有任何效果,因为它将qlineedit 的拉伸因子设置为0,但这已经是默认值了。

    【讨论】:

      猜你喜欢
      • 2010-12-13
      • 2012-04-20
      • 1970-01-01
      • 2011-01-24
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多