【问题标题】:How to arrange the items in QGridLayout as shown?QGridLayout中的项目如何排列如图?
【发布时间】:2012-03-20 22:26:42
【问题描述】:
------------  ------
|          |  | 2  |
|          |  |    |
|     1    |  ------
|          |  ------  
|          |  |  3 |
------------  ------

如上QGridLayout如何排列?

我试过了:

QGridLayout *layout = new QGridLayout();
centralWidget->setLayout (layout);

layout->addWidget (objOne, 0, 0);
layout->addWidget (objTwo, 0, 1);
layout->addWidget (objThree, 1, 1);

但失败了。

【问题讨论】:

    标签: qt qgridlayout


    【解决方案1】:

    查看addWidget 文档。您可以提供rowSpancolumnSpan

    QGridLayout *layout = new QGridLayout();
    centralWidget->setLayout (layout);
    
    layout->addWidget (objOne, 0, 0, -1, 1);
    layout->addWidget (objTwo, 0, 1, 1, 1);
    layout->addWidget (objThree, 1, 1, 1, 1);
    

    但是请注意,使用 QtDesigner 创建所需的布局要容易得多。更多详情请查看this Qt documentation page

    【讨论】:

      【解决方案2】:

      出于某种原因,您是否必须使用 QGridLayout?对于像这样的简单布局,我发现使用一个 QHBoxLayout 和一个 QVBoxLayout 的组合会更容易。

      QVBoxLayout* vlayout = new QVBoxLayout();
      vlayout->addWidget(objTwo);
      vlayout->addWidget(objThree);
      
      QHBoxLayout* hlayout = new QHBoxLayout();
      hlayout->addWidget(objOne);
      hlayout->addLayout(vlayout);
      

      【讨论】:

        猜你喜欢
        • 2021-12-29
        • 1970-01-01
        • 2018-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-27
        相关资源
        最近更新 更多